zoukankan      html  css  js  c++  java
  • WM_COMMAND 和 WM_LBUTTONDOWN 的区别

    INT_PTR CALLBACK DialogProc(HWND hwndDlog, UINT uMsg, WPARAM wParam, LPARAM lparam)
    {//消息回调函数
        switch (uMsg)
        {
        case WM_COMMAND:
            if (LOWORD(wParam) == IDOK)
            {
                float left1 = GetDlgItemFlaot(hwndDlog, IDC_LEFT1);
                float right1 = GetDlgItemFlaot(hwndDlog, IDC_RIGHT1);
                SetDlgItemFloat(hwndDlog, IDC_RESULT1, left1 + right1);
            }

         if (LOWORD(wParam) == IDCANCEL) { EndDialog(hwndDlog, IDCANCEL); } break; } return FALUSE; }

    WM_COMMAND: 来自菜单项,按钮控件或者快捷键等等。

    在这里也就是为了接收在页面当中的操作带来的消息,,即解析并匹配出相同的消息并执行对应的操作.


    INT_PTR CALLBACK msgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
        switch (uMsg)
        {
        case WM_INITDIALOG:
            SetWindowText(hwnd, "简单的");
            break;
        case WM_CLOSE:
            EndDialog(hwnd, WM_CLOSE);
            break;
        case WM_LBUTTONDOWN:
        {
            char s[256];
            int x = LOWORD(lParam);
            int y = HIWORD(lParam);
            sprintf(s, "鼠标左键点击:x:%d,y:%d", x, y);
            SetWindowText(hwnd, s); 
        }
            break;
        }
        return FALSE;
    }

    这里由于鼠标左键按下而对应的WM_LBUTTONDOWN消息则不属于WM_COMMAND所包含的内容范畴。

    可以这样理解,当按下一个确定按钮, 由于这个按钮有对应的ID,所以在响应的时候会到WM_COMMAND中寻找对应的ID产生的消息。

    但是当点击鼠标,或者键盘的时候,没有ID与它对应,但是响应的有事件与此对应, 即WM_LBUTTONDOWN。

  • 相关阅读:
    requests模块
    Html5五子棋
    html5学习之旅第一篇
    Vue.js学习和第一个实例
    electron安装到第一个实例
    mongodb学习-练习实例
    nosql学习一
    csv内存流文件流
    关于Vue中img的src属性绑定的一些坑
    java中的==操作符和equals函数
  • 原文地址:https://www.cnblogs.com/jianmoxiansheng-Guo/p/11941449.html
Copyright © 2011-2022 走看看