win32 WM_MENUSELECT消息学习

之前写了一些win32的程序,处理菜单单击都是处理WM_COMMAND消息,通过 LOWORD(wParam) 获取菜单ID,判断单击的是哪个菜单项;

还有一些其他菜单消息;

当在菜单项中移动光标或鼠标,程序会收到许多WM_MENUSELECT消息;
该消息的参数如下,
    LOWORD(wParam):选中项的菜单ID或弹出式菜单句柄
    HIWORD(wParam): 选择标志
    lParam:  包含选中项的菜单句柄
    
选择标志可以是MF_BITMAP、MF_CHECKED、MF_DISABLED等多个标志的组合;
如果需要根据菜单的选择来改变客户区和状态栏内容,此消息很有用;

	switch (message)
	{

	case WM_MENUSELECT:
		hdc = GetDC(hwnd);
		wsprintf(szBuffer, TEXT("%d"), LOWORD(wParam));
		TextOut(hdc, 50, 20 + 25 * row, szBuffer, lstrlen(szBuffer));
		row = row + 1;
		break;
......
    }

处理WM_MENUSELECT消息并输出选中的菜单ID,

当前的菜单ID定义如下,

#define IDR_MENU1                       101
#define ID_TEST1_TEST101                40001
#define ID_TEST1_TEST102                40002
#define ID_TEST1_TEST103                40003

    有时间继续; 

相关推荐

  1. Win32编辑框消息学习

    2023-12-29 05:34:03       50 阅读
  2. Win32 HIWORD和LOWORD宏学习

    2023-12-29 05:34:03       54 阅读
  3. Win32 MDI 程序学习1

    2023-12-29 05:34:03       52 阅读
  4. win32 窗口过程学习1

    2023-12-29 05:34:03       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-29 05:34:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-29 05:34:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-29 05:34:03       82 阅读
  4. Python语言-面向对象

    2023-12-29 05:34:03       91 阅读

热门阅读

  1. pfc001 Not enough information

    2023-12-29 05:34:03       48 阅读
  2. trino-435:dynamic catalog

    2023-12-29 05:34:03       56 阅读
  3. (js)循环判断找到满足条件的单项后结束循环

    2023-12-29 05:34:03       53 阅读
  4. VUE笔记

    VUE笔记

    2023-12-29 05:34:03      46 阅读
  5. gRPC-Go基础(3)基础gRPC服务

    2023-12-29 05:34:03       63 阅读
  6. Linux压缩算法-zstd

    2023-12-29 05:34:03       42 阅读
  7. 3种事件绑定的异同(js的问题)

    2023-12-29 05:34:03       57 阅读
  8. 15. 三数之和

    2023-12-29 05:34:03       58 阅读
  9. SpringBoot-Shiro

    2023-12-29 05:34:03       65 阅读