MFC銷售系統專案 靜態拆分視窗與自定義訊息

2021-10-07 18:15:05 字數 1470 閱讀 4401

1、自定義兩個類:cselectview和cdispalyview(它的基類必須是檢視類);

cselectview繼承於ctreeview,cdispalyview繼承於cformview。

2、cmainframe類中,宣告csplitterwnd型別的物件:

private:

csplitterwnd m_spliter; // 切分視窗類物件

3、重寫框架類cmainframe的oncreateclient函式:return true; 自己初始化客戶端。

bool cmainframe::oncreateclient(lpcreatestruct lpcs, ccreatecontext* pcontext)

1、在cmainframe.h中自定義訊息和訊息處理函式: 

#define nm_a	(wm_user + 100)

#define nm_b (wm_user + 101)

#define nm_c (wm_user + 102)

#define nm_d (wm_user + 103)

#define nm_e (wm_user + 104)

//自定義訊息處理函式

afx_msg lresult onmychange(wparam wparam, lparam lparam);

2、在cmainframe.cpp中繫結。

begin_message_map(cmainframe, cframewnd)

on_wm_create()

//on_message響應的是自定義訊息

//產生nm_x訊息,自動呼叫onmychange函式

on_message(nm_a, onmychange)

on_message(nm_b, onmychange)

on_message(nm_c, onmychange)

on_message(nm_d, onmychange)

on_message(nm_e, onmychange)

on_message(nm_f, onmychange)

on_command(id_32771, &cmainframe::on32771)

on_command(id_32772, &cmainframe::on32772)

on_command(id_32773, &cmainframe::on32773)

on_command(id_32775, &cmainframe::on32775)

end_message_map()

3、在cselectview.cpp的ontvnselchanged函式中傳送訊息:

if (str == text("個人資訊"))

MFC中靜態拆分視窗

一 範例執行結果 二 具體實現步驟步驟 1 建立2個視窗類cselectview和cdisplayview,到時候負責往上圖1和2的位置顯示東西。2 主視窗中定義乙個切分視窗類的物件,通過物件進行拆分 csplitterwnd m spliter 切分視窗類物件 3 重寫主視窗oncreatecli...

MFC之拆分視窗

bool cmainframe oncreateclient lpcreatestruct lpcs,ccreatecontext pcontext 5 在mainfrm.cpp 原始檔的開始處,新增檢視類cdemoview 的包含檔案 include demoview.h 6 編譯並執行,結果如圖...

opengl mfc 靜態拆分視窗

參考 第一 對函式wglmakecurrent有乙個新的認識。使指定的顏色上下文 rendering context 成為當前執行緒正呼叫的地顏色上下文 rendering context 在該執行緒中的所有opengl呼叫命令都將被畫在被指定的hdc上。所以,你可以使用wglmakecurrent...