日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Visual C++ 菜单

發(fā)布時間:2025/5/22 c/c++ 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual C++ 菜单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

2.1 如何動態(tài)添加和刪除菜單項

  • AppendMenu
  • InsertMenu
  • DeleteMenu
  • / // CMainFrame message handlers void CMainFrame::OnAppendMenu() {//獲得主菜單CMenu* pMenu = GetMenu();//獲得子菜單CMenu* pSubMenu = pMenu->GetSubMenu(4);if (pSubMenu->GetMenuItemCount() == 4){//在菜單末端添加菜單項pSubMenu->AppendMenu(MF_STRING, ID_TEST_MENU, _T("新菜單項"));//重畫菜單DrawMenuBar();} }void CMainFrame::OnInsertMenu() {//獲得主菜單CMenu* pMenu = GetMenu();//獲得子菜單CMenu* pSubMenu = pMenu->GetSubMenu(4);if (pSubMenu->GetMenuItemCount() == 4){//在菜單指定位置添加菜單項pSubMenu->InsertMenu(4, MF_BYPOSITION, ID_TEST_MENU, _T("新菜單項"));//重畫菜單DrawMenuBar();} }void CMainFrame::OnRemoveMenu() {//獲得主菜單CMenu* pMenu = GetMenu();//獲得子菜單CMenu* pSubMenu = pMenu->GetSubMenu(4);if (pSubMenu->GetMenuItemCount() == 5){//刪除菜單項pSubMenu->RemoveMenu(4, MF_BYPOSITION);//重畫菜單DrawMenuBar();} }void CMainFrame::OnDeleteMenu() {//獲得主菜單CMenu* pMenu = GetMenu();//獲得子菜單CMenu* pSubMenu = pMenu->GetSubMenu(4);if (pSubMenu->GetMenuItemCount() == 5){//刪除菜單項pSubMenu->DeleteMenu(4, MF_BYPOSITION);//重畫菜單DrawMenuBar();} }void CMainFrame::OnTestMenu() {AfxMessageBox(_T("測試菜單項命令")); }

    ?

    2.2 如何在系統菜單中添加菜單項

  • GetSystemMenu
  • //獲得系統菜單 CMenu* pMenu = GetSystemMenu(FALSE);//刪除系統菜單項 pMenu->RemoveMenu(SC_MOVE, MF_STRING);//添加菜單項 pMenu->InsertMenu(0, MF_BYPOSITION, ID_TEST_MENU, _T("測試菜單項"));//重畫菜單 DrawMenuBar();

    ?

    2.3 如何禁用關閉按鈕

  • EnableMenuItem
  • //獲得系統菜單 CMenu* pMenu = GetSystemMenu(FALSE);//禁用關閉按鈕 pMenu->EnableMenuItem(SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);

    ?

    2.4 如何啟用和禁用菜單項

    CCmdUI的Enable方法

    void CMainFrame::OnTestMenu1() {m_bEnable1 = FALSE;m_bEnable2 = TRUE; }void CMainFrame::OnUpdateTestMenu1(CCmdUI* pCmdUI) {//啟用或禁用菜單1pCmdUI->Enable(m_bEnable1); }void CMainFrame::OnTestMenu2() {m_bEnable1 = TRUE;m_bEnable2 = FALSE; }void CMainFrame::OnUpdateTestMenu2(CCmdUI* pCmdUI) {//啟用或禁用菜單2pCmdUI->Enable(m_bEnable2); }

    2.5 如何設置菜單項的檢查狀態(tài)

    SetCheck方法

    void CMainFrame::OnUpdateTestMenu(CCmdUI* pCmdUI) {//設置菜單項檢查狀態(tài)pCmdUI->SetCheck(m_nCheck); }

    2.6 如何實現快捷菜單

    即右鍵菜單ContextMenu

    void CDemoView::OnContextMenu(CWnd* pWnd, CPoint point) {CMenu menu;//加載菜單if (!menu.LoadMenu(IDR_MENU)){return;}//獲得子菜單CMenu* pPopupMenu = menu.GetSubMenu(0);//彈出菜單pPopupMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, pWnd); }void CDemoView::OnTestMenu1() {AfxMessageBox(_T("快捷菜單項1命令")); }void CDemoView::OnTestMenu2() {AfxMessageBox(_T("快捷菜單項2命令")); }

    轉載于:https://www.cnblogs.com/Clingingboy/archive/2011/04/05/2005816.html

    總結

    以上是生活随笔為你收集整理的Visual C++ 菜单的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。