在VC++窗体中加入3D Bar
2007-10-07 20:23:30 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簻椤掋垺銇勯幇顖毿撻柟渚垮妼椤粓宕卞Δ鈧獮濠勭磽閸屾艾鈧懓顫濋妸鈺佺疅缂佸顑欓崥瀣煕椤愵偅绶氱紓鍐╂礋濮婂宕掑▎鎴М濠电姭鍋撻梺顒€绉甸幆鐐哄箹濞n剙濡肩紒鎰殜閺屸€愁吋鎼粹€茬敖婵炴垶鎸哥粔鐢稿Φ閸曨垰鍐€妞ゆ劦婢€濞岊亪姊虹紒妯诲蔼闁稿海鏁诲濠氭晲婢跺﹤宓嗛梺缁樺姈缁佹挳宕戦幘璇叉嵍妞ゆ挻绋戞禍鐐叏濡厧浜鹃悗姘炬嫹

核心提示:前几天由于编程的需要,要做一个有3D边框的static控件,于是在查考别人做的3DBar的基础上,在VC++窗体中加入3D Bar,自己做了一个C3DBar类,现在把它奉献给大家, 2、在你使用的类中加入头文件,#include "3dbar.h" 3、申明一个C3DBar对象,下面
前几天由于编程的需要。要做一个有3D边框的static控件,于是在查考别人做的3DBar的基础上,自己做了一个C3DBar类,现在把它奉献给大家。下面是C3DBar的使用方法。
这个类的使用方法很简单,3DBbar中一共有7个public函数。分别为:
void SetBarColour(COLORREF cr);
void DrawHorizontal(CDC* pDC, CRect& BarRect); //画水平bar
void DrawVertical(CDC*pDC,CRect& BarRect); //画垂直bar
void DrawLeft(CDC*pDC,CRect&leftRect); //画左边bar
void DrawRight(CDC*pDC,CRect&rightRect); //画右边bar
void DrawTop(CDC*pDC,CRect&topRect); //画顶边bar
void DrawBottom(CDC*pDC,CRect&bottomRect); //画底边bar
从以上我们也可以看到,其实我们在用的时候一般用的是SetBarColour(COLORREF cr)、 DrawLeft、DrawRight、DrawTop和DrawBottom这5个函数,用法也很简单。如:我们在一个自定义的Static CDigiStatic中使用。可以分为以下几步:
- 1、首先把3DBar.h 和3DBar.cpp 加入到你的工程中。
- 2、在你使用的类中加入头文件,#include "3dbar.h"
- 3、申明一个C3DBar对象。C3DBar Bar;
- 4、在类的初始化中调用Bar的函数:SetBarColour;
- 5、在你使用的类的OnPaint();函数中调用前面介绍的4个函数就可以了。
例如:
void CDigiStatic::OnPaint()
{
CRect dlgrect;
GetClientRect(&dlgrect);
CRect rectleft(0,0,dlgrect.Width()/30,dlgrect.bottom),\
rectright(dlgrect.right-dlgrect.Width()/30,0,dlgrect.right,dlgrect.bottom),\
recttop(0,0,dlgrect.right,dlgrect.Width()/30),\
rectbottom(0,dlgrect.bottom-dlgrect.Width()/30,dlgrect.right,dlgrect.bottom);
CPaintDC dc(this); // device context for painting
Bar.DrawLeft(&dc,rectleft);
Bar.DrawTop(&dc,recttop);
Bar.DrawBottom(&dc,rectbottom);
Bar.DrawRight(&dc,rectright);
}
赞助商链接