CWnd::GetSystemMenu

CMenu* GetSystemMenu( BOOL bRevert ) const;

返回值:
如果bRevert为FALSE,则标识了控制菜单的一个拷贝;如果为TRUE,则返回值没有定义。
返回的指针可能是临时的,不能被保存以供将来使用。

参数:
bRevert指定要采取的动作。如果bRevert为FALSE,则GetSystemMenu返回当前使用的控制菜单的一个拷贝的句柄。这个拷贝最初与控制菜单一样,但是可以被修改。如果bRevert为TRUE,GetSystemMenu将控制菜单复位到原来的状态。以前控制菜单可能发生的变化都被销毁。这时返回值没有定义。

说明:
这个函数允许应用程序访问控制菜单,用于拷贝和修改。
任何不使用GetSystemMenu以生成它自己的控制菜单拷贝的窗口将接收标准的控制菜单。
GetSystemMenu成员函数返回的指针可以在CMenu::AppendMenu,CMenu::InsertMenu或CMenu::ModifyMenu中使用,用于改变控制菜单。
控制菜单中最初包含了用不同的ID标识的项,如SC_CLOSE,SC_MOVE和SC_SIZE。控制菜单中的项产生WM_SYSCOMMAND消息。所有的预定义控制菜单项都具有大于0xF000的ID值。如果应用程序在控制菜单中加入了项,则必须使用小于F000的ID值。
Windows可能自动使标准控制菜单上的项变灰。CWnd可以通过响应WM_INITMENU消息来执行它自己的选中或变灰操作,这个消息是在任何菜单要被显示之前发送的。

请参阅:
CMenu::AppendMenu, CMenu::InsertMenu, CMenu::ModifyMenu, ::GetSystemMenu