MFC 單文件中將系統選單欄替換為自己建立的選單欄

2021-08-06 06:18:59 字數 1541 閱讀 3880

原文出處:

在我們基於單文件程式設計的過程中,往往不需要系統自己定義的選單欄,想自己設定自己需要的選單欄,因此就需要修改某些引數實現該功能。

方法一:

1、建立好基於單文件工程,在資源中建立自己的選單欄:idr_mymenu;

[cpp]view plain

copy

print?

csingledoctemplate* pdoctemplate;  

pdoctemplate = new csingledoctemplate(  

idr_mymenu,                      //在此處將系統的idr_mainframe改為:idr_mymenu

runtime_class(cviewdoc),  

runtime_class(cmainframe),       // main sdi frame window

runtime_class(cviewview));  

adddoctemplate(pdoctemplate);  

csingledoctemplate* pdoctemplate;

pdoctemplate = new csingledoctemplate(

idr_mymenu, //在此處將系統的idr_mainframe改為:idr_mymenu

runtime_class(cviewdoc),

runtime_class(cmainframe), // main sdi frame window

runtime_class(cviewview));

adddoctemplate(pdoctemplate);

方法二(孫鑫老師第六課):

1、建立好基於單文件工程,在資源中建立自己的選單欄:idr_mymenu;

2、在oncreate(...)函式中新增如下**:

[cpp]view plain

copy

print?

......  

//去掉系統的選單

setmenu(null);  

//新增自己的選單

cmenu menu;  

menu.loadmenu(idr_mymenu);  //載入自己的選單

setmenu(&menu);   

menu.detach();   //該函式是用來將選單控制代碼與選單物件分離

return 0;  

......

//去掉系統的選單

setmenu(null);

//新增自己的選單

cmenu menu;

menu.loadmenu(idr_mymenu); //載入自己的選單

setmenu(&menu);

menu.detach(); //該函式是用來將選單控制代碼與選單物件分離

return 0;

MFC 單文件去掉標題欄和選單欄

隱藏標題欄 在cmainframe的oncreate 中新增如下 方法一 好用 long style 去掉標題欄及其他樣式 setwindowlong this m hwnd,gwl style,0 去掉邊框及其他樣式 setwindowlong this m hwnd,gwl exstyle,0 ...

MFC選單欄 CMenu 控制項

1.設定選單左邊顯示點陣圖和背景位圖 cmenu類裡要了解的函式 setmenuitembitmaps 設定選單項左邊的點陣圖 函式定義 bool setmenuitembitmaps uint nposition,uint nflags,const cbitmap pbmpunchecked,co...

MFC 選單欄顯示隱藏

首先獲取程式視窗大小 在cmainframe 定義變數crect clientrect 在oncreate裡獲取客戶區大小,並隱藏選單欄 m wndcommandbar.showwindow sw hide getclientrect clientrect bool cmainframe pretr...