下面顯示的是效果圖:
然後是**,其中有一些解釋:
using後續做詳細的解釋。system;
using
system.collections.generic;
using
system.componentmodel;
using
system.diagnostics;
using
system.text;
using
system.windows.forms;
using
system.drawing;
using
system.drawing.drawing2d;
namespace
scygroupbox
this
.setstyle(controlstyles.allpaintinginwmpaint
|controlstyles.doublebuffer
|controlstyles.userpaint,
true);}
#region
圓角大小 property
private
intradius =3
;public
intradius
setelse}}
#endregion
#region
邊線顏色
private
color bordercolor
=color.darkgreen;
public
color bordercolor
set}
#endregion
#region
上部漸變顏色
private
color ushinecolor
=color.fromargb(
140, color.white);
public
color ushinecolor
set}
#endregion
//////
描繪具有圓角的button原型路徑
///protected
virtual
graphicspath createradiusrect(rectangle rectangle,
intradius)
protected
override
void
onsizechanged(eventargs e)
base
.onsizechanged(e);}//
按照button路徑進行border繪製
protected
virtual
void
drawborder(graphics g, pen pen)
pen.dispose();
pen
=null;}
//繪製上部漸變色
protected
virtual
void
drawuppershine(graphics g)
using
(lineargradientbrush lbrush
=new
lineargradientbrush(rc, c1, c2, lineargradientmode.vertical))}//
設定字型的大小,寬高,位置資訊
protected
virtual
void
drawtext(graphics g)}//
繪製內部的方塊
protected
virtual
void
drawinner(graphics g, rectangle rectangle, pen p)
protected
override
void
onpaint(painteventargs e)
}}
MFC開發之自繪Group Box控制項
基類是cstatic 在onpaint 函式中繪製矩形設定顏色 獲取矩形範圍 crect rcclient getclientrect rcclient 建立畫筆 cpen pen pen.createpen ps solid,1,rgb 255,0,0 邊框設定為紅色邊框 選入畫筆 dc.sele...
MFC自繪控制項
1.c 中drawitem 函式不被呼叫的問題 自繪乙個cmybutton的時候,在drawitem 中改變了button的顏色,但是在程式執行時,drawitem 函式並沒有被執行,原因在於按鈕的型別並不是bs ownerdraw,所以我們需要把它改為 所有者繪製 解決方法 可以過載乙個presu...
MFC Button控制項自繪
vc下的介面著實難看 有時候我們不得不自己進行控制項的繪製 以前 一直不理解最近再次看了學了一遍終於明白了一點 與大家分享下.需要源 的q我 尋找一起學vc的朋友 比如說我們要改變乙個編輯框的背景 我們響應wm ctlcolor函式 進行onctlcolor進行修改但是對與 button控制項就不行...