duilib 控制項新增屬性

2021-09-20 10:05:44 字數 929 閱讀 9833

比如給按鈕新增乙個按下去的背景pushedbkimage,首先在setatrribute虛函式中新增乙個屬性,這樣從配置檔案讀取屬性後,即可進一步處理

void coptionui::setattribute(lpctstr pstrname, lpctstr pstrvalue)

接著在重繪的過程中會依次呼叫

paintbkcolor(hdc);

paintbkimage(hdc);

paintstatusimage(hdc);

paintforecolor(hdc);

paintforeimage(hdc);

painttext(hdc);

paintborder(hdc);

我們可以根據需要改寫其中的乙個函式,設定pushedbkimage,dopaint是虛函式,可以在子類的dopaint中進行優先處理,最後在呼叫父類的dopaint

bool ccontrolui::dopaint(hdc hdc, const rect& rcpaint, ccontrolui* pstopcontrol)

else

if( cxyborderround.cx > 0 || cxyborderround.cy > 0 )

else

return true;

}

void coptionui::paintbkimage(hdc hdc)

else return;}}

if (!m_sselectedbkimage.isempty())

else return;

}} else if ((m_ubuttonstate&uistate_pushed) != 0)

else return;

}} else

}

Duilib建立新增自定義控制項

本篇參考資料 duilib自定義控制項博文 duilib開發基礎 建立自定義控制項的過程 duilib是乙個強大的c 介面庫,相比mfc,它對於程式設計師來說更加友好。不僅易懂易學,做出的介面效果還比較美觀。據悉,現在市面上很多桌面應用都是直接或間接地基於duilib來製作的。這篇博文主要介紹如何把...

duilib中使用MFC控制項

這裡示例將mfc按鈕放到duilib滑塊條控制項的位置 1 準備好乙個duilib控制項來容納mfc控制項,如下 將帶控制代碼hwnd的控制項顯示到ccontrolui上面 class cwndui public ccontrolui virtual void setinternvisible bo...

在C 中使用屬性控制項新增屬性視窗

原文 在c 中使用屬性控制項新增屬性視窗 第一步,建立在應用程式中將要展現的字段屬性為public公有屬性。其中,所有的屬性必須有get和set的方法 如果不設定get方法,則要顯示的屬性不會顯示在屬性控制項中 為了設定相關的屬性,必須設定下面的一些關於屬性控制項的屬性值,如下表所示 屬性值含義 c...