当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 在窗体中加入3D Bar

VC++
在类VC的界面实现中加入目录树
软件换肤技术在 BCB 中的实现
利用非模窗口生成MDI介面
报表输出轻松搞定
Windows 中不规则窗体的编程实现
解说Win32的窗口子类化
使用测试优先方法开发用户界面
一个简单的登录对话框的实现
一个简单的日记本程序
从资源中加载皮肤
一个在RichEdit中添加表情图象的类
ActiveSkin 4.3 软件换肤在VC中的实现
一种另类“关于(About)”对话框的动态显示方法
对话框打印预览及打印
关于如何换肤、子类化的解决方案
制作 MSN、QQ 的消息提示窗口
如何对 BCGControlBarPro 进行换肤
定制个性化的对话框窗口类
改变窗口中的光标形状
更新MFC中的视图,跟踪.NET Framework中的事件

VC++ 中的 在窗体中加入3D Bar


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 82 ::
收藏到网摘: n/a

在窗体中加入3D Bar


作者 yxbscsc

下载源代码

    经常在VCKBASE上面看到很多别人写的文章,想着自己哪天也在上面写点文章呢!正好前几天由于编程的需要。要做一个有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);}