程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 在VC++窗體中加入3D Bar

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

編輯:vc教程

  前幾天由於編程的需要。要做一個有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);
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved