MFC 選單相關(孫鑫)

2021-09-30 07:32:31 字數 854 閱讀 6451

三種訊息的分類及其對應的響應類

理解類和資源的關係,通常類中會有乙個成員變數作為指向資源的控制代碼,這樣可作為引數傳給類的成員函式

通常類物件不能定義為區域性變數,否則物件作用的作用域結束後(通常為右花括號)物件會被析構,相應資源也會被銷毀

就看不到應該具有的顯示效果

宣告為類的成員變數,也可以在區域性變數的情況下呼叫detach函式解除物件與資源的繫結

選單  子選單  選單項 的對應關係,掌握用id和position兩種方式訪問選單項的方法

cmainframe為cview的父類,其覆蓋在前者的客戶區上,標準選單是屬於cmainframe的資源,建立時在其客戶區上顯示

可以自定義選單(靜態或者動態),並且定義其屬於的類,有時候需要將其分配給cview類(如右鍵彈出選單)

更換顯示選單的方式是先將選單賦空,然後再呼叫loadmenu函式

讓選單欄重繪呼叫cwnd::drawmenubar

cdc類中封裝了與繪圖相關的操作,一般繪圖的基本邏輯先是建立乙個「工具」給乙個視窗,根據相應設定執行繪圖操作,而無須關注繪圖

操作底層的細節

訊息路由路徑為:首先根據訊息為命令或者通告訊息進行分流

然後 在後面oncmdmessage()函式中會呼叫乙個基類的版本oncommand,在這個函式中就會根據預定義的順序進行訊息路獲得相應,這樣響應優先順序是確定的,要在此優先權中的視窗類中捕獲訊息,可以給類申明乙個虛函式oncommand,在裡面捕獲訊息並進行相應處理(如cmainframe攔截cview),在這個函式內部可以考慮是否再呼叫基類的版本(呼叫的話,訊息路由會重新按順序進行,不呼叫其他類被遮蔽,無法捕獲到訊息)

構建dc繪圖一般要在cview視窗上,cmainframe被覆蓋,繪圖顯示不了

MFC選單 孫鑫第六課

1.訊息 標準訊息 除wm command之外,所有以wm 開頭的訊息。從cwnd派生的類,都可以接收到這類訊息。命令訊息 來自選單 加速鍵或工具欄按鈕的訊息。這類訊息都以wm command呈現。在mfc中,通過選單項的標識 id 來區分不同的命令訊息 在sdk中,通過訊息的wparam引數識別。...

孫鑫 MFC筆記二 MFC框架剖析

mfc,microsoft foundation class,微軟基礎類庫,是微軟為了簡化程式設計師的開發工作所開發的一套c 類集合,是一套物件導向的函式庫,以類的方式提供給使用者使用。實際上,mfc同樣也有winmain函式,只是這個winmain函式被微軟封裝,同時,也封裝了每乙個視窗都需要的步...

MFC孫鑫第十四講UDP

srv include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 socket socksrv socket af inet,sock stream,0 socket socksrv socket...