繪製圓形按鈕

由於從CButton類派生的按鈕外觀過於“簡潔”,有時並不能滿足我們的要求。
愛美之心人皆有之,何況按鈕呼?
那麼要如何才能做出一個漂亮的按鈕呢?這就得求助與按鈕的自繪功能。
所謂按鈕的自繪,就是按鈕的形狀可以重新繪製。既然按鈕的形狀可以重新繪製,那豈不
正是 我們需要的。
下面簡要的說一下圓形按鈕的製作思路:
首先得讓按鈕具有自繪風格(ownerdraw),可以在按鈕的屬性裏選上,也可以通過
PreSubClassWindow實現,後一種方法如下:
重寫PreSubClassWindow,然後
void CCircleButton::PreSubclassWindow()
{
    // TODO: Add your specialized code here and/or call the base class
   
    CButton::PreSubclassWindow();
    ModifyStyle( 0 , BS_OWNERDRAW );
}
按鈕具有了自繪功能後,我們就可以重寫DrawItem,在這個函數裏完成按鈕的徹底換裝。
那麼如何換裝呢?當然啦首先得有漂亮的衣服啊(就是準備好一張大小合適圓形的位圖),
然後根據位圖的大小繪製按鈕。
既然要繪製圓形按鈕,當然按鈕的形狀就得是圓的。
首先獲得位圖的大小,然後根據位圖大小設置按鈕的大小並繪製對應的圓形。
最後創建一個位圖畫刷,刷一下那個圓形區域即可
詳細代碼請參看源碼
沒法上傳文件啊!!
有需要的留下郵箱吧
發佈了31 篇原創文章 · 獲贊 1 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章