方便每乙個tablayout的介面都可以用乙個類去處理;避免將所有的訊息寫到同乙個主視窗類中;方便維護;
主視窗**:
建構函式中新增
cetcdmainwnd::cetcdmainwnd()
xml配置
類中新增訊息處理類的成員變數
cpatmanagepage m_patmanagepage;
訊息處理類的宣告與定義
.h檔案
#ifndef _etcd_patmanage_page_h__
#define _etcd_patmanage_page_h__
#include "stdafx.h"
class cpatmanagepage : public duilib::cnotifypump
;#endif
.cpp檔案
#include "stdafx.h"
#include "etcdpatmanagepage.h"
dui_begin_message_map(cpatmanagepage, cnotifypump)//定義訊息
dui_on_msgtype(dui_msgtype_click,onclick)
dui_on_msgtype(dui_msgtype_selectchanged,onselectchange)
dui_end_message_map()//定義訊息
cpatmanagepage::cpatmanagepage(){}cpatmanagepage::~cpatmanagepage(){}void cpatmanagepage::init(cpaintmanagerui *ppaint, hwnd hwnd)void cpatmanagepage::onclick(tnotifyui& msg) //訊息處理函式void cpatmanagepage::onselectchange(tnotifyui &msg)//訊息處理函式{} duilib 模態視窗
void cmaindlg dotask pdlg create 的引數1,開始寫成了null,子視窗彈出後,還可以操作主視窗.因為要彈出模態對話方塊,跟進 pdlg showmodal 看到了duilib禁止主視窗的 才想到引數1應為父視窗視窗控制代碼.可以看出,當要彈出非模態視窗時,可以將pdl...
duilib 視窗的分層顯示控制
需求中要求,taska的視窗在彈出後,必須前置在其他子視窗上面。剛開始,試驗了2種方法不理想.用setwindowpos改變子視窗的z軸,這 太大了.主視窗的前置和後置的控制和任務視窗的彈出有衝突.將taska建立在最後彈出的視窗上,處理起來繁瑣,不穩定。如果taska的父視窗消失了,但是這時要求t...
基於duilib的虛擬列表實現
本文由作者鄒啟文授權網易雲社群發布。在郵箱大師選擇duilib作為ui開發庫後,我們面臨這樣乙個問題。隨著時間的積累,使用者資料會越來越多,如何保證我們的軟體在展示這些資料時依然保持非常好的體驗?原生態duilib列表的實現是,資料與控制項 列表的每一項 一一對應,即有多少資料,便有多少控制項。通過...