C++ 中CListCtrl的每个项都显示不同的提示信息
C++中CListCtrl的每个项都显示不同的提示信息
添加CToolTipCtrl成员变量m_toolTipCtrl,CListCtrl成员变量m_ListUser,CImageList成员变量m_imageList(这个可以不要)
在OnInitDialog()函数里加下面代码
m_BoradcastEnd.EnableWindow(FALSE);
m_imageList.Create(32,32,ILC_COLOR8,2,2);
DWORDdwStyle=m_ListUser.GetExtendedStyle();
dwStyle|=LVS_EX_INFOTIP;
m_ListUser.SetExtendedStyle(dwStyle);
for(inti=0;i<5;i++)
{
CBitmapbit;
bit.LoadBitmap(IDB_TEA_ONLINE+i);
m_imageList.Add(&bit,RGB(0,0,0));
bit.DeleteObject();
}
EnableToolTips(TRUE);
m_toolTipCtrl.Create(this);
m_toolTipCtrl.SetMaxTipWidth(500);//若屏蔽这行提示信息的格式可能会出现问题,不能换行
m_toolTipCtrl.Activate(TRUE);
m_ListUser.SetImageList(&m_imageList,TVSIL_NORMAL);
m_ListUser.InsertItem(0,"172.16.30.32.231",0);
m_ListUser.InsertItem(1,"172.16.30.218",4);
CRectrect;
m_ListUser.GetItemRect(0,&rect,LVIR_BOUNDS);
m_toolTipCtrl.AddTool(&m_ListUser,"MAC:/nHost:/nIP:",&rect,1);
m_ListUser.GetItemRect(1,&rect,LVIR_BOUNDS);
m_toolTipCtrl.AddTool(&m_ListUser,"gggggggggg/nggggggggsfgsfgsfg",&rect,2);
添加虚函数PreTranslateMessage()
在函数里添加下面代码
BOOLCMutiScreenDlg::PreTranslateMessage(MSG*pMsg)
{
//TODO:Addyourspecializedcodehereand/orcallthebaseclass
m_toolTipCtrl.RelayEvent(pMsg);
returnCDialog::PreTranslateMessage(pMsg);
}
如有疑问请留言或者到本站社区交流讨论,希望通过本文能帮助到大家,谢谢大家对本站的支持!