GetSystemMenu,函数名。该函数允许应用程序为复制或修改而访问窗口菜单(系尔古香希就要统菜单或控制菜单)。
系统菜单是指我们点击窗体左上角的小图标时所弹出的菜单,其中好象有"恢复"."移来自动"."最大化"."最360百科小化"."关闭"这么几个按钮.
这个菜势福让旧单用普通的方法是不能编辑与改变的,但是我们可以通过api函数getsystemmenu来得到它的句柄,然后通过菜单相关的api函数就能改变它了。
- 中文名称 GetSystemMenu
- 外文名称 GetSystemMenu
- 函数功能 允许应用程序为复制或修改而访问
- 函数原型 GetSystemMenu(BOOL bRevert)
- 参数 hWnd
函数原型
HMENU GetSystemMenu(HWND hWnd,BOOL bRevert)跑终台在县;或者,HMENU GetSystemMenu(BOOL bRevert);
参数
hWnd:拥有窗口菜单拷贝的窗口的句柄。
bRevert:标志位,指定将执行的操作。
如果湖经抓材夫独临此参数为FALSE,GetSystemMenu返回当前使用窗口菜单的拷贝的句柄。该拷贝初始时与窗口菜单相同,察武煤相宪但可以被修改。
如果此参注混效细相数为TRUE,GetSystemMenu重置窗口菜单到缺省状态。如果存在先前的窗口菜单,将被销毁。
返回值:如果参数bRevert为FALSE,返回值是窗口菜单的拷贝的句柄:如果参数bRevert为TRUE,返序回值是NULL。
备注:任何没有用GetSystemMenu函数来生成自己的窗口菜单拷贝的窗口将接受标准窗口菜单。
窗口菜单最初包含的菜单项有多种标识符值,如SC_CLOSE,SC_MOVE和SC_SIZE。
窗口菜单上的菜单项发送WM_SYSCOMMAND消息。
所有预定义的窗口菜单项的标识符数大于0xF000。如果一个应用程序增加命令到窗口菜单,应该使用小于0xF000的标识符数。
系统根据状态自动变灰标准窗口菜单上的菜单项。应用程序通过响应在任何某单显示之前发送的WM_INITM来自ENU消息来实现选取和变灰。
Window360百科s CE环境下,不支持系统菜单,但GetSyemMenu以宏的方式实现,以保持和已存在代码的兼容性。可以使用该宏的返回菜单句柄使关闭框无效,与在Windows桌面平台上一样。Windows CE下的亲主练支科儿鸡缩返回值没有其他用处。参数bRevert无用。
用下面的代码使关闭按钮无效:
EnableMenultem(GetSystemMenu(hwn始史d,FALSE),SC_CLOSE,MF_BYCOMMAND I MF_GRAYED);
速查:Windows NT:3.1及以上版本;W盐者费项副真纸indows:95及以上版本;Windows CE:1.0及以上版本;头文件:winus曲井er.h;输入库:user32.lib。
注意:以上介绍的是API函数,在MFC中作为class CWnd的成员函数声明为 CMenu* GetSystemMenu(BOOL bRevert) const; 只有一个参数。