| 菜单的分类 |
| 窗口顶层菜单: |
| 弹出式菜单(标准叫法){下拉菜单:点击窗口顶层菜单形成的的下拉菜单、右键形成的} |
| 系统菜单:操作系统提供的,每一个程序,左上角ICON都会有 |
| |
| 菜单是容器,装的是菜单项,每个菜单项都有自己的ID |
| |
| 点击菜单项会产生 WM_COMMAND |
| |
| WM_COMMAND[命令消息] |
| 对于菜单,点击菜单项的时候,会产生WM_COMMAND |
| 菜单时候 仅仅LOWORD(wParam) == ID,lParam 0; |
菜单是容器,装的是菜单项,每个菜单项都有自己的ID
添加菜单一般分为两种办法:
- 一种是创建 .rc文件 [.rc文件不需要我们写,我们仅仅需要在通过IDE来进行编辑就可以了]
(1) 直接利用LoadMenu 这个API导入,返回HMENU菜单句柄,在创建的时候赋值(注意 .rc 下面的menu Id)
(2) 直接将 .rc 里面的menu id在创建 WNDCLASS 的时候进行赋值
(3) 在 WM_CREATE 的时候SetMenu()[传入参数为(1)中产生的HMENU]
| HMENU LoadMenu( |
| HINSTANCE hInstance, |
| LPCTSTR lpMenuName |
| ); |
| SetMenu( |
| HWND hWnd, |
| HMENU hMenu |
| ); |
- 通过代码创建
HWMND CreateMenu(); //这个函数没有参数,创建Menu之后我们需要通过句柄在menu里面填写菜单选项 ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步