CListCtrl实现tooltip信息提示

2022-09-09 20:40:17 浏览数 (1)

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

当鼠标移动到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,”故障设置:rn” strValue, &rect, j 1);

}

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

0 人点赞