比如給按鈕新增乙個按下去的背景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...