我是靠谱客的博主 执着短靴,这篇文章主要介绍CMenu* CWnd::GetSystemMenu(),现在分享给大家,希望可以做个参考。

CWnd::GetSystemMenu
允许应用访问"控制"菜单进行复制和修改。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
CMenu* CWnd::GetSystemMenu(BOOL bRevert) const; //\ /*bRevert:指定要执行的操作。如果bRevert为FALSE,GetSystemMenu将返回当前使用的"控制"菜单的副本的句柄。此副本最初与控制菜单相同,但可以被修改。如果bRevert为TRUE,GetSystemMenu()将"控制"菜单重置为默认状态,前一个可能已被修改过的"控制"菜单(如果有的话)被破坏,在这种情况下,返回值是不确定的。 返回值:如果bRevert为FALSE,则标识"控制"菜单的副本。如果bRevert为TRUE,则返回值是不确定的。 返回的指针可能是临时的,不应存储已备后用。*/ /*备注: 任何不使用GetSystemMenu()自己制作"控制"菜单副本的窗口都会收到标准的"控制"菜单。GetSystemMenu()成员函数返回的指针可以与 CMenu::AppendMenu()、CMenu::InsertMenu或CMenu::ModifyMenu()函数一起使用,以更改"控制"菜单。"控制"菜单最初包含用各种ID值表示的项目,例如SC_CLOSE、SC_MOVE和SC_SIZE。控制菜单上的项目生成WM_SYSCOMMAND消息。所有预定义的控制菜单项的ID号都大于0xF000(十进制170000),如果应用程序将项目添加到"控制"菜单,则其ID号应小于F000。 Windows可能会自动使标准"控制"菜单上的项目不可用。CWnd可以通过响应在显示任何菜单之前内部发送的WM_INITMENU消息来执行自己的选择或不可用(carry out its own selection or unavailability)。*/ // The following code fragment is taken from CMyDlg::OnInitDialog // CMyDlg is derived from CDialog // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu *pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUT); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon

最后

以上就是执着短靴最近收集整理的关于CMenu* CWnd::GetSystemMenu()的全部内容,更多相关CMenu*内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部