欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MFC自绘精美控件

程序员文章站 2022-05-28 19:40:10
...

C++自绘漂亮表盘、柱状图、饼图、立体管道,先看效果图

MFC自绘精美控件
MFC自绘精美控件

一、引入GDI

  1. Stadfx.h中添加:

    #include  <GdiPlus.h>
    using  namespace Gdiplus;
    #pragma comment(lib, "gdiplus.lib")
    
  2. 在工程文件OnInitDialog()中return true前添加:

    {
           .......
         Gdiplus::GdiplusStartupInput StartupInput;
         GdiplusStartup(&m_gdiplusToken,&StartupInput, NULL);       
     }
    

别忘了头文件中ULONG_PTR m_gdiplusToken;
二、引入cpp和h文件(源码中的文件)
MFC自绘精美控件
三、在dialog中添加一个static控件

   更改ID为IDC_Meter,并在resource.h中更改ID号。

四、在第三步dialog所属的头文件中,

   1. 添加需要引用的类,例如:#include "MyMeter.h"
   2 .MyMeter实例化,定义其对象:CMyMeter m_Mymeter;//表盘

五、在第四步对应的cpp中:

 DoDataExchange(CDataExchange* pDX)中添加:
 
{
        DDX_Control(pDX, IDC_Meter, m_Mymeter);//表盘
 }

六、该类对外有两接口函数:

   SetRange(0,100);//调整范围 
   SetValue(0)//设定值

1.新建一按钮,更改按钮名称为调整范围,在其响应函数中添加:

   Mymeter.SetRange(0, 50);

2.表盘需要实时显示实际现场数值:可以在定时器中添加:

  m_Mymeter.SetValue(m_value);//m_value为具体的值。

七、GDI释放
为窗口CPP添加析构函数(就是你初始化GDI的那个CPP)

   CTestGdIDlg::~CTestGdIDlg()
   {
      Gdiplus::GdiplusShutdown(m_gdiplusToken);
   }

运行就能看到效果了
源码地址:
https://download.csdn.net/download/li634471989/11184089
https://download.csdn.net/download/li634471989/11184103
https://download.csdn.net/download/li634471989/11184108
https://download.csdn.net/download/li634471989/11235994