【问题标题】:VB6 Subclassing: How to detect [ALT] + mouse left click in window title/caption barVB6 子类化:如何在窗口标题/标题栏中检测 [ALT] + 鼠标左键单击
【发布时间】:2011-11-18 11:57:36
【问题描述】:

我需要子类化一个 VB6 表单,这样如果用户在左键单击标题/标题栏时按下 [ALT] 键,我就可以执行一些自定义操作(显示对话框、文件 io 等)。

到目前为止,我已经能够在我的 NewWndProc() 中进行子类化,以在 wParam = HTCAPTION 时正确捕获 WM_NCLBUTTONDOWN 消息,但我不知道如何同时捕获 [ALT] 键。

我已经使用了一些 SPY 实用程序来检查消息,但我仍然无法解决这个问题。感谢您的帮助。

更新: 看来我可能不得不使用鼠标和键盘挂钩?

【问题讨论】:

    标签: vb6 subclass


    【解决方案1】:

    因为它不是作为消息的一部分发送的。但您可以致电GetKeyState(VK_MENU) 来了解它是否被按下。

    【讨论】:

    • 就是这样。我还尝试了 WM_NCLBUTTONDBLCLK 和 GetAsyncKeyState()。该解决方案还涉及在我退出捕获这 2 个 WM_NCLBUTTONxxx 消息的 Select Case 之后,将标志设置为 ~NOT~ 运行默认的 WndProc。感谢您给我的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多