• 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;  
    }


  • 相关阅读:
    Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动
    Python3漏洞扫描工具 ( Python3 插件式框架 )
    Linux 防火墙
    基于Python3的漏洞检测工具 ( Python3 插件式框架 )
    git学习笔记
    sublime text 3 优化配置
    win10 出现0x80072efd错误
    Ubuntu搭建NFS服务器,NFS协议详细分析
    docker实现跨主机连接
    Python-RabbitMQ(持久化)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3206578.html
Copyright © 2020-2023  润新知