【问题标题】:How can I get a message box to appear every time I left-click in a window?每次在窗口中单击鼠标左键时,如何让消息框出现?
【发布时间】:2020-02-03 13:00:59
【问题描述】:

当我左击鼠标时,我想打开一个带有“left”字样的消息框。

所以我使用了wndproc和MK_LBUTTON,但是wndproc函数写了代码,但是WinMain部分不知道怎么写代码。

我不想打开一个窗口,但是当我在谷歌上搜索时,我只有一个只显示一个窗口的代码示例。 (开窗没解决问题..)

我该怎么办?帮助 (如果你写了尽可能多但不明白的问题,请问我,我会回答。

而且我英文不好,所以写了个翻译。)

我的代码(尝试)

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance
, LPSTR lpszCmdParam, int nCmdShow)
{
    //???
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{

    switch (iMessage) {
    case MK_LBUTTON:
        MessageBox(hWnd, TEXT("left"),TEXT("message"), MB_OK);
    }
    return(DefWindowProc(hWnd, iMessage, wParam, lParam));
}

【问题讨论】:

    标签: winapi window


    【解决方案1】:

    MK_LBUTTON 不是消息,您需要捕获WM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLK

    这些消息仅发送到单击鼠标的活动窗口。如果你想捕捉所有窗口的点击,那么你需要使用mouse hookpump messages

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 1970-01-01
      • 2019-01-16
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      相关资源
      最近更新 更多