使用頂層選單
建立選單資源
,並在應用程式執行時載入生成的選單.
建立選單資源
建立選單資源
,命名選單資源id
編輯選單項id
載入並顯示選單
主對話方塊屬性的
menu
項設定為選單
id.
或者主對話方塊的
oninitdialog
函式新增如下**塊.
cmenu menu;
menu.loadmenuw(idr_menu_main);
setmenu(&menu);
menu.detach();
如果使用如上**載入選單
,會出現選單佔據主對話方塊空間
,但是主對話方塊大小不變所有其上控制項都往下移動的問題
.要解決這一問題
,可以在載入選單之後呼叫如下函式.
//由於新增選單需要重新調整視窗大小
voidclbdkfodlg::resizewindow()
源文件<
>
響應選單命令
類檢視中
,選擇主對話方塊類
,開啟屬性檢視
,在事件項相應選單
id新增
command
訊息函式相應選單命令.
彈出式選單
與選單或者按鈕不同,彈出式選單如何建立資源,
********************
和普通選單的建立方式是一樣的,也是在資源中建立,訊息對映也是一樣的,處理函式也是一樣的,幾乎全是一樣的,只不過它的彈出是你自己控制的。它是用trackpopupmenu來彈出,在彈出之前要先裝入類的,看下例:
cmenu pop;
//載入選單
pop.loadmenu(idr_add_delete); //idr_add_delete就是選單id
cmenu* psubmenu;
//載入子選單
psubmenu = pop.getsubmenu(0);
//獲得滑鼠位置
cpoint p;
getcursorpos(&p);
//顯示選單
psubmenu->trackpopupmenu(tpm_rightbutton,p.x,p.y,this);
psubmenu->destroymenu();
源文件<
>
參考資料:
再探MFC 二 多標籤對話方塊
包含控制項頁的標籤式對話方塊 使用者可通過單擊滑鼠在其間切換.本篇我們只介紹使用屬性表實現多標籤頁對話方塊.這也是本系列文章的風格,即為了盡可能的簡單化,只提供必要的,必要的只提供最通用的.屬性表 屬性表的功能都合理地封裝在一對 mfc類 cpropertysheet 和cpropertypage ...
再探MFC 七 使用者自定義訊息
用途 使用者自定義訊息使用 step1 定義訊息id 例如resource.h define lbd set call state message wm user 100 step2 訊息處理 類檢視選中要發往訊息的對話方塊類 在屬性檢視中重寫 windowproc 在 todo 下新增 處理使用者...
再探函式引數
c函式的所有引數均以 傳值呼叫 方式進行傳遞。這意味著函式將獲得引數值的乙份拷貝,這樣函式可以放心修改這個拷貝值,而不必擔心會修改呼叫程式實際傳遞給它的引數。普通資料型別主要包括 如下面 所示 include void swap int x int y int main 我們原本是希望編寫乙個函式,...