这些WndProc代码是什么意思?
问题描述:
我正在试图制作a window that closes when you click outside it,目前我正在通过处理WndProc函数来研究这个问题。这些WndProc代码是什么意思?
到目前为止,我收到的消息都不是很有用,但有一些我根本不理解。代码0x0118,0xC123,0xC128和0xC12E代表什么?
答
0x0118:用于插入符WM_SYSTIMER(无证)闪烁
其他三个应该是应用程序定义的消息(在0xC000时到0xFFFF范围内的任何东西),所以你不会找到任何地方的定义。
答
一个简单的方法就是捕捉鼠标。当你捕捉到鼠标时,你会在窗口外面看到一个点击事件,然后关闭捕捉。
更难的方法是设置低级别的鼠标窗口挂钩。要执行全局钩子,您必须将钩子代码放入非托管DLL中。
A 真的简单的方法是关闭窗体,当它停用。
编辑:
哎呀。我刚刚意识到我没有回答你关于消息ID的直接问题。消息0x118未在winuser.h中定义,因此我认为它是未公开的消息ID。范围从0xC000到0xFFFF的消息ID是应用程序定义的消息。这些ID由RegisterWindowMessage
返回。
嗯......寻找MouseCaptureChanged事件并检查鼠标的位置似乎是迄今为止所见到的最好的方式。回到我的另一个问题,我会把你的标记作为正确的答案。 – Simon 2008-11-18 13:16:03