主题 |
1. 系统菜单下面添加自定义菜单 2. 3.
4. 5.
|
AppendMenu |
The AppendMenu function appends a new item to the end of the
specified menu bar, drop-down menu, submenu, or shortcut menu. You can use
this function to specify the content, appearance, and behavior of the menu
item.
Note The AppendMenu function has been superseded by the
InsertMenuItem function. You can still use AppendMenu, however, if you do
not need any of the extended features of InsertMenuItem.
BOOL AppendMenu(
HMENU hMenu,
// handle to menu
UINT uFlags,
// menu-item options
UINT_PTR uIDNewItem, // identifier, menu, or submenu
LPCTSTR lpNewItem // menu-item content
);
|
ID |
Value |
Description |
1. |
MF_BITMAP |
位图 |
2. |
MF_DISABLED |
不可用 |
3. |
MF_ENABLED |
可用 |
4. |
MF_GRAYED |
灰色 |
5. |
MF_MENUBARBREAK |
|
6. |
MF_MENUBREAK |
|
7. |
MF_OWNERDRAW |
|
8. |
MF_POPUP |
|
9. |
MF_SEPARATOR |
分隔符号 |
10. |
MF_STRING |
字符串 |
11. |
MF_CHECKED |
|
12. |
MF_UNCHECKED |
|
代码::系统菜单下面添加自定义菜单 |
1.在Resource.h里面 定义1个ID号 #define ID_MENU1 0x1500
2.在::OnInitDialog() 下面添加代码
// TODO: Add extra initialization here
CMenu* pMenu = GetSystemMenu(FALSE);
CString menu1="新菜单";
pMenu->AppendMenu(MF_SEPARATOR);
pMenu->AppendMenu(MF_STRING, ID_MENU1, menu1);
3.在::OnSysCommand(UINT nID, LPARAM lParam) 下面添加响应单击 这个菜单的代码
void CProject02Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) ==
IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else if
(nID==ID_MENU1)
{
MessageBox("YES");
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
} 效果图: |
ID |
nID |
备注:OnSysCommand |
1.
|
SC_CLOSE |
Close
the CWnd object. |
2.
|
SC_MAXIMIZE
|
(or
SC_ZOOM) Maximize the CWnd object. |
3.
|
SC_MINIMIZE
|
(or
SC_ICON) Minimize the CWnd object. |
4.
|
SC_MOVE
|
Move
the CWnd object |
5.
|
SC_RESTORE
|
Restore
window to normal position and size. |
6.
|
SC_SIZE |
Size
the CWnd object. |
7.
|
SC_NEXTWINDOW
|
Move
to the next window. |
8.
|
SC_PREVWINDOW
|
Move
to the previous window. |
9.
|
SC_KEYMENU
|
Retrieve
a menu through a keystroke. |
10.
|
SC_MOUSEMENU
|
Retrieve
a menu through a mouse click. |
11.
|
SC_HOTKEY |
Activate
the CWnd object associated with the application-specified hot key.
|
12.
|
|
The
low-order word of lParam identifies the HWND of the window to |
13.
|
SC_SCREENSAVE |
Executes
the screen-saver application specified in the [boot] section of the
SYSTEM.INI file. |
14.
|
SC_TASKLIST |
Execute
or activate the Windows Task Manager application. |
15.
|
SC_VSCROLL
|
Scroll
vertically. |
16.
|
SC_HSCROLL |
Scroll
horizontally. |