这些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返回。

+0

嗯......寻找MouseCaptureChanged事件并检查鼠标的位置似乎是迄今为止所见到的最好的方式。回到我的另一个问题,我会把你的标记作为正确的答案。 – Simon 2008-11-18 13:16:03