主题 |
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 BOOL AppendMenu( HMENU hMenu, UINT uFlags, 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) == { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else if { MessageBox("YES"); } else { CDialog::OnSysCommand(nID, lParam); } } 效果图: |
//OnSysCommand
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. |