CListCtrl实现tooltip信息提示

CListCtrl实现tooltip信息提示当鼠标移动到CListCtrl的某一行时,提示一些信息。具体实现方法:1、头文件定义CToolTipCtrlm_tooltip;2、在OnInitDialog()中进行初始化EnableToolTips(TRUE);   m_tooltip.Create(this);   m_tooltip.SetMaxTipWidth(500);   m_tooltip.Act…

大家好,又见面了,我是你们的朋友全栈君。

当鼠标移动到CListCtrl的某一行时,提示一些信息。

具体实现方法:

1、头文件定义

CToolTipCtrl m_tooltip;

2、在OnInitDialog()中进行初始化

EnableToolTips(TRUE);
    m_tooltip.Create(this);
    m_tooltip.SetMaxTipWidth(500);
    m_tooltip.Activate(TRUE);

    LONG lStyle;
    lStyle  = GetWindowLong(m_listCourse.m_hWnd, GWL_STYLE);//获取当前窗口style
    lStyle  &= ~LVS_TYPEMASK; //清除显示方式位
    lStyle |= LVS_REPORT; //设置style
    SetWindowLong(m_listCourse.m_hWnd, GWL_STYLE, lStyle);//设置style
    DWORD dwStyle = m_listCourse.GetExtendedStyle();
    dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
    dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
    dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件
    m_listCourse.SetExtendedStyle(dwStyle); //设置扩展风格

 

CRect rectangle;
        m_listCourse.GetWindowRect(&rectangle);
        int nWidth  =rectangle.Width();

        m_listCourse.InsertColumn( 0, _T(“”), LVCFMT_CENTER,-1, -1);
        m_listCourse.InsertColumn( 1, _T(“序号”), LVCFMT_CENTER,rectangle.Width()*0.1 , -1);
        m_listCourse.InsertColumn( 2, _T(“添加时间”), LVCFMT_CENTER,rectangle.Width()*0.2 , -1);
        m_listCourse.InsertColumn( 3, _T(“课程名称”), LVCFMT_CENTER,rectangle.Width()*0.25 , -1);
        m_listCourse.InsertColumn( 4, _T(“课程难度”), LVCFMT_CENTER,rectangle.Width()*0.2 , -1);
        m_listCourse.InsertColumn( 5, _T(“课程时长”), LVCFMT_CENTER,rectangle.Width()*0.25 , -1);
        m_listCourse.DeleteColumn(0);

3.添加数据

for(int j=0;j<10;j++)

{

m_listCourse.InsertItem(j,””);

           strValue.Format(“%d”,j);
            m_listCourse.SetItemText(j,0,strValue);
           strValue.Format(“%d”,j)+1;
            m_listCourse.SetItemText(j,1,strValue);
          strValue.Format(“%d”,j+2);
            m_listCourse.SetItemText(j,2,strValue);
           strValue.Format(“%d”,j+3);
            m_listCourse.SetItemText(j,3,strValue);
           strValue.Format(“%d”,j+4);
            m_listCourse.SetItemText(j,4,strValue);

            strValue.Format(“提示信息内容%d”,j+5);
            CRect rect;
            m_listCourse.GetItemRect(j, &rect, LVIR_BOUNDS);
            //为第j行添加提示文本内容
            m_tooltip.AddTool(&m_listCourse,”故障设置:\r\n”+strValue, &rect, j + 1);

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152508.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 彻底弄懂C语言数组名

    彻底弄懂C语言数组名先定义一个一维数组inta[]={0,1,2,3,4,5,6,7,8,9};一、数组名是什么数组名的值是数组首元素的指针常量。数组名不是指针,但大多数使用到数组名的地方,编译器都会把数组名隐式转换成一个指向数组首元素的指针来处理。只有两种情况下例外:第一种是对数组名使用sizeof运算符sizeof(a)这将会得到整个数组所占的内存大小,a是长度为10的int(4字节

  • js对象和jquery对象的区别

    js对象和jquery对象的区别

    2021年10月18日
  • python3实现网络字节序和ipv4、ipv6互转[通俗易懂]

    文章目录1.前言2.什么是是网络字节序3.ipv4和ipv6简介4.转换5.参考文献1.前言2.什么是是网络字节序3.ipv4和ipv6简介4.转换5.参考文献[1][2]

  • redis 开源_redis 可视化

    redis 开源_redis 可视化前言RedisDeskTopManager可视化工具(之前一直在用的)其实我在本地一直是直接用redis-client直接命令行连接redis,一方面是可以熟悉redis的命令,另一方面实在也没有什么好用的客户端工具。别跟我说rdm,RedisDeskTopManager自从进入了0.9.9版本就开始付费使用或者贡献代码获得免费使用期限。而且rdm实在是太丑了,都不如我用命令行。RedisDeskTopManager可视化界面:最后在GitHub上看到一个开源的redis桌面可视化

  • Linux下使用vsftpd架设FTP服务器过程

    Linux下使用vsftpd架设FTP服务器过程FTP可以通过很多软件实现,我们linux下面最常用的FTP服务器架设使用vsftpd软件vsftpd是一个基于GPL发布的FTP服务器软件。其中的vs是“VerySecure”的缩写,由此名称缩写可以看出,本服务器的初衷就是服务的安全性。当然,vsftpd也是REDHAT默认安装的ftp服务器软件后台进程:vsftpd类型:SystemV服务使用端口:2…

  • 解决 eclipse 3.7 字体偏小问题

    解决 eclipse 3.7 字体偏小问题

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号