duilib中使用MFC控制項

2021-07-02 01:30:13 字數 1502 閱讀 4485

這裡示例將mfc按鈕放到duilib滑塊條控制項的位置:

1、準備好乙個duilib控制項來容納mfc控制項,**如下:

//

將帶控制代碼hwnd的控制項顯示到ccontrolui上面

class cwndui: public

ccontrolui

virtual

void setinternvisible(bool bvisible = true

)

virtual

void

setpos(rect rc)

bool attach(hwnd hwndnew)

m_hwnd =hwndnew;

return

true;

}hwnd detach()

protected

: hwnd m_hwnd;

};

2、將xml中slider節點換成wnd,並且只保留位置資訊,xml如下:

<

wnd

float

="true"

pos="30,77,0,0"

width

="139"

height

="18"

/>

3、建立wnd控制項:由於slider是duilib內建的控制項,所以duilib會根據xml資訊自動建立slider控制項,而cwndui是我們自定義的控制項,所以需要自己建立,只需要響應createcontrol函式(如果duilib發現自定義控制項,會自動呼叫此函式來獲取控制項),在cduiframewnd加上如下函式:

virtual ccontrolui*createcontrol(lpctstr pstrclassname)

return

null;

}

上面的**用了win32的按鈕,其中注釋部分是mfc按鈕,親們可以都試下效果:

到現在為止,我們既可以在duilib中新增mfc控制項,也可以在原有的mfc專案中新增duilib控制項,就不用再擔心不能使用以前的控制項啦~o(∩_∩)o~

duilib中mfc控制項的響應

回到win32就行了,我們只需截獲wm_command,而duilib的wm_command等windows訊息可以在handlemessage函式裡截獲,**如下:

lresult cduiframewnd::handlemessage( uint umsg, wparam wparam, lparam lparam )

}break

;

default

:

break

; }

return

__super::handlemessage(umsg, wparam, lparam);

}

在MFC中使用Static text控制項顯示訊息

1 新建乙個mfc對話方塊xxdlg,從工具欄拖乙個static text控制項到面板上,右鍵編輯屬性,將id改為idc showmsg 2 開啟類檢視,在cxxdlg上右鍵 新增成員函式void showmsg lpctstr msg 3 在void cmymfcdlg showmsg lpcts...

MFC與duilib之間控制項相互呼叫

一 在mfc中使用duilib控制項 將duilib的控制項視窗的父視窗指定為mfc的視窗,同時在mfc中顯示duilib的控制項視窗。duilib的控制項視窗需要繼承cwindowwnd,inotifyui,實現getwindowclassname getclassstyle onfinalmes...

Duilib學習筆記《03》 控制項使用

高階控制項 一些控制項的基本顯示效果就如同上面兩幅圖所示。實際上,在 duilib學習筆記 01 duilib整體框架認識中我們就已經提到過duilib這個庫的組成,其中就提到了控制項這部分,如下圖所示 對應到工程 中,實際上是分為了兩部分 core和control。core中包含的是所有控制項公用...