【问题标题】:How To Detect Pushbutton pressing?如何检测按钮按下?
【发布时间】:2011-09-17 19:42:37
【问题描述】:

我正在尝试构建一个简单的应用程序(使用 Win32 API),它在一个应该关闭应用程序的按钮中显示一个黑色窗口,问题是我无法弄清楚如何检测 PushBotton 点击​​。

以我的代码为例:

HWND hButton = CreateWindow(TEXT("Button"),TEXT("Exit"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,100,100,50,50,hWnd,0,hInstance,0);

【问题讨论】:

  • 如果你没注意到,这里的主题是Win32
  • 有大量的 Win32 编程教程。大多数人解释了如何做到这一点。

标签: winapi


【解决方案1】:

简而言之,您需要给按钮一个 ID,然后在您的窗口 proc 中处理来自该按钮的 WM_COMMAND 消息。 http://www.infernodevelopment.com/c-win32-api-tutorial 的文章给出了一个很好的例子。

【讨论】:

    【解决方案2】:

    你需要分析 WM_COMMAND 主窗口过程中的消息:

    LRESULT CALLBACK MainWndProc(  
    HWND hwnd,        // handle to window  
    UINT uMsg,        // message identifier  
    WPARAM wParam,    // first message parameter  
    LPARAM lParam)    // second message parameter  
    {   
    if ((uMsg == WM_COMMAND) && ((HWND)lParam == hButton))  //check MSDN for WM_COMMAND and BN_CLICKED notifications
    {  
        //button was pressed  
    }  
    .......  
    }  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 2021-03-03
      相关资源
      最近更新 更多