• MFC控件(8):command button与syslink control


    在VS 2008里MFC多了4种控件,分别是

      split buttons ,command button , syslink controls和 network address controls.

    split button前一篇博客已经讲了(主是普通的button和menu组合产生的控件),现在讲下command button , syslink controls


    command button

    这个名字取得挺忽悠人.其实该控件没太多新东西,就在原有的Button上加了一点新特性.仍然属于button.

    它用起来不同于一般button的地方主要是3个方面. 

    1.除了button上面的caption显示的文字外还多了个note文字,相当起于进一步解释作用的文字,并是用小号的字显示出来. 

     2.可以在button前面显示一个icon图标,默认是指向右边的箭头  

    3.鼠标没放过去之前不像个button,像个static text控件一样的文本信息.鼠标移上去后才变得像button.

    除了上面说的之外其他操作跟一般button一样.

    所以主要来看下怎么设置note,和icon

    CButton* pBtn = (CButton*)GetDlgItem(IDC_COMMAND1);
    pBtn->SetNote(_T("something to description"));  //设置note的内容

    pBtn->SetIcon(m_hIcon);  //设置icon,当然也可以使用默认的icon.


     syslink controls

    这个控件实际上就像html中的超链接一样.你点下可以链接到一个网页上去.

    拖控件到页面上,并绑定一个变量

    CLinkCtrl v_linkCtrl;

    DDX_Control(pDX, IDC_SYSLINK1, v_linkCtrl);

    //这里设置链接上面显示的内容要注意.里面的内容全部是按照标准的html中href的用法写的.写错了自然链接不了的.可以去瞧下html里面的href属性是怎/么设置的.另外要注意的是字符串中双引号的处理(记得加个转义符)

    v_linkCtrl.SetWindowTextW(_T("<a href="http://blog.csdn.net/weiwenhp">weiwenhp博客</a>")); 


    消息处理

    ON_NOTIFY(NM_CLICK, IDC_SYSLINK1, OnNMClickSyslink1)


    void CMFCControlDlg::OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult)
    {
     PNMLINK pNMLink = (PNMLINK) pNMHDR;   
            ShellExecuteW(NULL, L"open", pNMLink->item.szUrl, NULL, NULL, SW_SHOWNORMAL);  //在浏览器中打开        
           *pResult = 0;  
    }


  • 相关阅读:
    VUE脚手架,babel转码 常用命令
    ES6那些事半功倍的新特性(一)
    vuex中怎么把‘库’中的状态对象赋值给内部对象(三种方法)
    VUE自定义指令生命周期,VUE生命周期
    判断是数组还是对象的方法
    利用cordova打包H5混合app
    webstorm皮肤外观样式快速设置,CMD的使用方法,webstorm11激活方法
    数组操作方法中的splice()和concat() 以及slice()
    Angularjs跨域
    Node.js的基础知识(一)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3206578.html
Copyright © 2020-2023  润新知