What does ( WM_NCLBUTTONDOWN ) do?
我正在研究如何在Visual Basic 6中制作圆形表单的示例,而我停在了代码处:
我只知道这是作为Const传递给Windows的消息...
我想知道的是:
-
什么是&HA1?
-
const WM_NCLBUTTONDOWN做什么? 它向Windows发送什么消息?
-
关于它的其他事情。
拜托,谢谢
您正在处理Windows发送到窗口的消息,以告诉您的代码发生了一些有趣的事情。您将在窗体的WndProc()方法中找到该常量,该窗体在Windows发送消息时运行。
WM_NCLBUTTONDOWN消息是那些消息之一。 WM =窗口消息。 NC =非客户程序,不是客户区,边框和标题栏的窗口部分。 L =左键,您可以找出BUTTONDOWN。
这些消息在Windows SDK文件中声明。您将其安装在计算机上,该文件的VS2008版本位于C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Include \ WinUser.h。使用文本编辑器或VS将其打开,以查看其中的内容。搜索消息标识符以找到此行:
1 | #define WM_NCLBUTTONDOWN 0x00A1 |
Windows SDK旨在与C程序一起使用。 #define等效于VB.NET中的Const。
因此,在WndProc()中,您将使用Select Case或If语句来检测消息。当用户单击窗口标题栏上的鼠标左键时,您可以执行一些特殊的操作。如果忽略它,则会运行
-
那是一个十六进制整数文字
-
它声明一个常量;它实际上什么也没做。
当光标在窗口的非客户区域内时,用户按下鼠标左键时,会发布WM_NCLBUTTONDOWN 消息。此消息被发布到包含光标的窗口
-
&HA1 表示十六进制数A1,即161(尽管您通常会看到十六进制表示的Windows消息常量)。更常见的是,您会看到它是0xA1 (或0x00A1 ),因为这是用C或C ++表示十六进制数的方式(Windows API最初是为C编写的)。 -
您不会将
WM_NCLBUTTONDOWN 发送到Windows。相反。 Windows将向您发送WM_NCLBUTTONDOWN 。
如果您想知道