Windows菜单.pdf
文本预览下载声明
目 录
目 录
第1 章 Windows 菜单1
1.1 窗口菜单和弹出菜单 1
1.2 使用 SetMenu2
1.3 使用 TrackPopupMenu4
II
第 1 章 Windows 菜单
第1 章 Windows 菜单
1.1 窗口菜单和弹出菜单
Windows 菜单分为两类:窗口菜单和弹出菜单。窗口菜单主要用来放在某
个窗口上。弹出菜单有两个作用,一是鼠标右键单击时显示的菜单;二是作为
子菜单添加到窗口菜单。
打开“记事本”程序,右键菜单就是一个弹出菜单:
图 1.1 弹出菜单
“记事本”程序的菜单栏部分就是一个窗口菜单,它又包含了“文件”“编
辑”……这些弹出菜单。
图 1.2 窗口菜单
1
第 1 章 Windows 菜单
窗口菜单由 CreateMenu 创建,使用 SetMenu 将其设置到某个窗口,使用 D
estroyMenu 销毁。
弹出菜单由 CreatePopupMenu 创建,使用 AppendMenu 或 InsertMenuItem
将其添加到窗口菜单或上一级弹出菜单,也可以使用 TrackPopupMenu 显示弹
出菜单。弹出菜单的销毁同样是调用DestroyMenu 函数。
1.2 使用SetMenu
下面以代码的方式创建图 1.2所示的窗口菜单:
//创建窗口菜单
HMENU hMenuWnd = ::CreateMenu();
{//创建“文件”弹出菜单,并将其添加到窗口菜单
//创建文件菜单,这是一个弹出菜单
HMENU hMenuFile = ::CreatePopupMenu();
//给文件菜单添加新建菜单项,0x8000 是菜单项 ID 号
::AppendMenu(hMenuFile,MF_STRING,0x8000,_T(新建));
//给文件菜单添加打开菜单项
::AppendMenu(hMenuFile,MF_STRING,0x8001,_T(打开));
//给文件菜单添加一条分隔线
::AppendMenu(hMenuFile,MF_SEPARATOR,0,NULL);
//继续给文件菜单添加菜单项
... ... ... ...
//将整个文件菜单添加到窗口菜单
::AppendMenu(hMenuWnd,MF_POPUP,(UINT)hMenuFile,_T(文件));
}
{//创建“编辑”弹出菜单,并将其添加到窗口菜单
//创建编辑菜单,这是一个弹出菜单
HMENU hMenuEdit = ::CreatePopupMenu();
//给编辑菜单添加菜单项
... ... ... ...
//将整个编辑菜单添加到窗口菜单
2
第 1 章 Windows 菜单
::AppendMenu(hMenuWnd,MF_POPUP,(UINT)hMenuEdit,_T(编辑));
}
{//创建“格式”弹出菜单,并将其添加到窗口菜单
...
显示全部