有好几种方法:1。比较笨的是判断鼠标的位置是否在按钮上面
2。重载按钮的OnMouseMove,然后用TraceMouseEvent(好象是这样写记不太清 了)去检查,
3,想不起来了,还有其他的方法,:)
2。重载按钮的OnMouseMove,然后用TraceMouseEvent(好象是这样写记不太清 了)去检查,
3,想不起来了,还有其他的方法,:)
解决方案 »
- 串口线程
- 为何当dll触发DLL_PROCESS_DETACH消息后,dll曾经创建的线程会被阻塞掉?
- MFC 模拟窗口返回值
- VC多文档视图左上角的图标怎样去掉?
- 大牛在没?急!!!关于Tab Ctrl 的多对话框共享从串口采集的数据,怎么实现啊?
- 请教:udp服务端和客户端通信时不时中断是什么原因?局域网
- 结束explorer.exe
- 怎么让CEditCtrl控件是flat风格的,而且带边框?背景颜色怎么修改呢?
- 把DC中画的内容保存为位图时滚动的问题
- IE7 不支持AcitvedX 控件,怎么办?
- 大头菜再问:COM的方法定义问题?
- 高分请教;小妹刚从学校毕业想学网络方面的编程,请高手帮我写写备注
比如,得到父窗口的hwnd,用EnumChildWindows枚举出所有Child的hwnd,用GetWindowRect得到Child的Rect,再判断鼠标的位置在那个Child上。
难道大家不知道ChildWindowFromPoint这个函数吗?使用它你可以得到鼠标位置下的窗口的句柄。ID当然也能得到。然后比较一下窗口类,看是不是BUTTON即可。就像spy++做的那样。
pWnd->EnableWndow();
// handle of window to receive mouse capture
)扑获鼠标;
2、用HWND WindowFromPoint(
POINT Point // structure with point
)获得窗口句柄;
3、用LONG GetWindowLong(
HWND hWnd, // handle of window
int nIndex // offset of value to retrieve
)得到ID,其中nIndex参数为GWL_ID;
4、用BOOL EnableWindow(
HWND hWnd, // handle to window
BOOL bEnable // flag for enabling or disabling input
) Enable or Disenable;