程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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