前言
windows窗口创建以后,往里头添加菜单就是一件很有意义的事了,菜单关联的东西有
-它本身是一种资源,有菜单句柄HMENU需要维护
-菜单点击会发出消息,需要知道怎么维护相关的消息处理函数
分类
>窗口顶层菜单、弹出式菜单、系统菜单
窗口顶层菜单
资源
窗口顶层菜单是一个窗口下的一级菜单,把它称作一个菜单栏(menu bar)更为合适,而里头的任何一项(没有下一级)可以称为
一个菜单项(menu item),有下一级的被称为子菜单或者下拉菜单(即菜单项是一个新的菜单)
-通过函数CreateMenu我们可以创建一个窗口顶层菜单,它会返回一个HMENU的句柄,这就是这个顶层菜单的资源,这是编写程序
创建菜单的方式,还有一种图形化创建资源文件的方式创建,这里你获得的只是一个标识,如IDR_MENU
-然后通过函数AppendMenu/DeleteMenu可以往这个资源里添加东西了,这里头可以添加的东西有菜单项(menu-item,对应一个
menu-item id),下拉菜单或子菜单(对应menu handle),这两类的添加方式会导致调用AppendMenu函数第二个第三个参数的区分.
-最后,我们可以用下面3种方式将这个菜单和对应的窗口关联起来,
--a.使用SetMenu将HMENU和HWND进行绑定
--b.在设计窗口类时,对应的LPCTSTR lpszMenuName填上,这里你需要用添加资源文件进行填充
((MAKEINTERSOURCE(IDR_MENU)).
--c.创建窗口时,对应的HMENU hMenu填上,如果菜单是资源文件的方式添加的,可以用LoadMenu获得菜单句柄.
消息
窗口顶层菜单会产生两种消息WM_COMMAND,WM_INITMENUPOPUP,分别对应点击menu-item和