My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > WINDOWS标准界面元素
在窗体中加入3D Bar
作者:未知 时间:2005-07-20 14:10 出处:VC知识库 责编:MyFAQ
              摘要:在窗体中加入3D Bar

在窗体中加入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);
} 
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有