分享程序员开发的那些事...
首页
NTFS
漏洞
Android
Magento
服务器
Python
powershell
技术问答
Linux
网站首页
且构网 - 分享程序员编程开发的那些事
您所在的位置:
首页
>
VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息
VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息
更新时间:2022-09-15 15:13:15
[cpp]
view plain
copy
BEGIN_MESSAGE_MAP(CTipListCtrl, CListCtrl)
//{{AFX_MSG_MAP(CTipListCtrl)
ON_WM_MOUSEMOVE()
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTipListCtrl message handlers
void
CTipListCtrl::OnMouseMove(
UINT
nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if
(m_bEnableTips)
{
CString str;
LVHITTESTINFO lvhti;
// 判断鼠标当前所在的位置(行, 列)
lvhti.pt = point;
SubItemHitTest(&lvhti);
// 如果鼠标移动到另一个单元格内, 则进行处理; 否则, 不做处理
if
((lvhti.iItem != m_nItem) || (lvhti.iSubItem != m_nSubItem))
{
// 保存当前鼠标所在的(行,列)
m_nItem = lvhti.iItem;
m_nSubItem = lvhti.iSubItem;
// 如果鼠标移动到一个合法的单元格内,则显示新的提示信息
// 否则, 不显示提示
if
((m_nItem != -1) && (m_nSubItem != -1))
{
// @@@@@@@@ 在这里修改要显示的提示信息
// 这里仅仅是一个例子---获得当前单元格的文字信息, 并设置为新的提示信息
str = GetItemText(m_nItem ,m_nSubItem);
m_toolTip.AddTool(
this
, str);
// 显示提示框
m_toolTip.Pop();
}
else
{
m_toolTip.AddTool(
this
, _T(
"双击记录可查看人员详细信息并对其修改"
));
// 显示提示框
m_toolTip.Pop();
}
}
}
CListCtrl::OnMouseMove(nFlags, point);
}
BOOL
CTipListCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if
(::IsWindow(m_toolTip.GetSafeHwnd()))
{
m_toolTip.RelayEvent(pMsg);
}
return
CListCtrl::PreTranslateMessage(pMsg);
}
void
CTipListCtrl::OnDestroy()
{
CListCtrl::OnDestroy();
// TODO: Add your message handler code here
// listctrl销毁时, 同时销毁 tooltipctrl
m_toolTip.DestroyWindow();
m_toolTip.Detach();
}
BOOL
CTipListCtrl::EnableTips()
{
EnableToolTips(TRUE);
// 创建tooltip控件
m_bEnableTips = m_toolTip.Create(
this
, TTS_ALWAYSTIP);
if
(m_bEnableTips)
{
m_toolTip.Activate(TRUE);
m_toolTip.SetDelayTime(TTDT_INITIAL, 0);
}
return
m_bEnableTips;
}
上一篇 : :学习VC MFC开发必须了解的常用宏和指令
下一篇 : 为树形控件添加弹出式菜单,并跟踪所选择的项
相关阅读
VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息
推荐文章
[LeetCode] Frog Jump 青蛙过河
开源的rtsp实现
[LintCode] Coins in a Line 一条线上的硬币
[LeetCode] Rotate Function 旋转函数
[LeetCode] Random Pick Index 随机拾取序列
Maching Learning 学习资料
[LintCode] 3Sum 三数之和
[LeetCode] Shuffle an Array 数组洗牌
OpenCV 3.1 StereoBM 获取正确视差Dispariy
LaTex Remove Left Margin 去除左边空间