日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Visual C++ 菜单

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

?

2.1 如何動態添加和刪除菜單項

  • 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 如何設置菜單項的檢查狀態

    SetCheck方法

    void CMainFrame::OnUpdateTestMenu(CCmdUI* pCmdUI) {//設置菜單項檢查狀態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++ 菜单的全部內容,希望文章能夠幫你解決所遇到的問題。

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