首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么判断鼠标移动到工具栏的某项

2012-03-11 
如何判断鼠标移动到工具栏的某项菜单已经知道了,工具栏呢?[解决办法]会有mousemove消息啊[解决办法]如果你

如何判断鼠标移动到工具栏的某项
菜单已经知道了,工具栏呢?

[解决办法]
会有mousemove消息啊
[解决办法]

如果你想得到工具栏的上button对应的ID 则以下方法可以....如果你想要得到位置坐标,则重载mousemove消息,在里面进行复杂的crect计算与判断.


加入消息映射.
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipNotify)


实现 函数

BOOL 你自己的类::OnToolTipNotify(UINT ID, NMHDR *pNMHDR,
LRESULT *pResult)
{
TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
CString strTipText;
UINT nID = pNMHDR->idFrom;
if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
{
nID = ::GetDlgCtrlID((HWND)nID);
}

if (nID == 0) return FALSE;
switch(nID)
{
case ID_XXX:
MessageBox("aa");
break;
}

热点排行