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

2016-02-19 21:41 13 1 收藏

今天图老师小编给大家介绍下在VC++窗体中加入3D Bar,平时喜欢在VC++窗体中加入3D Bar的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - 编程语言 】

  前几天由于编程的需要。要做一个有3D边框的static控件,于是在查考别人做的3DBar的基础上,自己做了一个C3DBar类,现在把它奉献给大家。下面是C3DBar的使用方法。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  这个类的使用方法很简单,3DBbar中一共有7个public函数。分别为:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

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);
}

来源:https://www.tulaoshi.com/n/20160219/1626869.html

延伸阅读
3d播播如何设置3d   3d播播是一款好用的3d视频播放器,这里有大量高清的3d影片共您观看,让您体验不一样的3d视觉效果,给您带来超奢华的享受,那么3d播播如何设置3d呢,下面小编就给大家带来详细介绍。 3d播播如何设置3d? 打开3d播播,在主界面点击我的; 下拉看到系统设置,点击进入; 可以选择播放设置,包括...
标签: 办公软件
★插入声音文件 我们在文章中介绍一首诗词歌赋时,如果加入相关的乐曲(声音文件),将会有一种既能读其文,又可听其声的美妙感觉。如果你也想在文档中插入声音文件,那么就可以按以下步骤操作: 1、先将光标定位于要插入声音文件的地方。 2、在“插入”菜单中选择“对象”命令,随后弹出“对象”对话框。 3、在“对象类...
标签: ASP
  如何在您的网站中加入互动功能(TRANSACTION)呢? IIS(Internet Information Server)与MTS(Mircrosoft Transaction Server)紧密配 合,数据库的更改有"同生共死"的互动(TRANSACTION)功能。 当ASP程序中所有的数据库的变更都成功时,才算成功;有一个数据库的更改失败时, 已经更改的数据库资料将自动恢复(rollback),...
检测内存泄漏的主要工具是调试器和 CRT 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句: #define CRTDBG_MAP_ALLOC #include stdlib.h #include crtdbg.h 注意   #include 语句必须采用上文所示顺序。如果更改了顺序,所使用的函数可能无法正确工作。 通过包括 crtdbg.h,将 malloc 和 free 函数映射到其“Debug”版本 _...
如果想要在3D场景中创建类似透视和光影这样的炫目效果,那么就不能忽略物体间的“添加混合”特性。许多顶级游戏经常利用这一特性来增强相应范围内图形的表现方式,例如武器的发射和爆炸。虽然许多Texture的附加选项都能够模拟各种材质的混合,但是Shockwave 3D的当前版本对此并不支持。 幸运的是,我们可以通过另一种方法来“实现...

经验教程

683

收藏

7
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部