MFC自绘精美控件

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

在这里插入图片描述
在这里插入图片描述

一、引入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文件(源码中的文件)
在这里插入图片描述
三、在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://pan.baidu.com/s/1iLixGYC8tz-luN9AfKKupg
提取码:rv38

  • 13
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: MFC 自绘图片控件类是一种在 Microsoft Foundation Class (MFC) 框架下开发的控件类,用于实现自定义绘制图片的功能。通过这个控件类,我们可以方便地将自定义绘制的图片显示在应用程序的界面上。 MFC 自绘图片控件类的使用主要包括以下几个步骤: 首先,我们需要创建一个继承自 MFC 的 CWnd 类的子类,该子类将扮演画图的窗口的角色。 然后,我们需要在该子类中重写 OnPaint 函数,这个函数将实现绘制图片的逻辑。在这个函数中,我们可以使用 GDI+ 或者其他绘图技术,根据自己的需求来绘制介绍的图片。 接下来,我们需要在该子类中添加一些其他的函数,用于加载图片资源、设置显示的图片、调整图片的尺寸等。这些函数将在控件的使用过程中被调用。 最后,在 MFC 应用程序的界面上,我们可以使用资源编辑器或者代码来创建和布置这个自绘图片控件类的实例。通过调用相应的函数,我们可以加载图片资源,设置绘制的图片,以及实现其他一些操作。 MFC 自绘图片控件类的好处是它可以根据自己的需求来绘制图片,使得应用程序的用户界面更加美观、个性化。同时,它也提供了一些方便的函数来加载图片资源、设置图片、调整图片的尺寸等,使得开发者在使用过程中更加方便。 总之,MFC 自绘图片控件类是一种实现自定义绘制图片功能的控件类,通过继承 MFC 的 CWnd 类并重写相应的函数,我们可以实现自己想要的图片效果。这个控件类的使用方法简单,同时也提供了一些方便的函数来帮助我们实现功能。 ### 回答2: MFC(Microsoft Foundation Classes)是一种基于C++编程语言的框架,用于开发Windows应用程序。在MFC中,自绘图片控件类是指可以自定义绘制图片的控件自绘图片控件类通常继承自MFC的CWnd类或CStatic类,通过重写控件的绘制函数来实现自定义绘制。 在自绘图片控件类中,首先需要实现OnPaint函数来处理绘制事件。可以通过GDI(图形设备接口)函数来绘制图片,例如使用CDC类的DrawBitmap函数绘制位图、使用DrawIcon函数绘制图标等。还可以使用GDI+库来实现更复杂的绘图效果,例如绘制自定义形状、应用渐变色等。 除了绘图函数,还可以重写控件的其他函数来处理其他事件,例如OnLButtonDown函数处理鼠标点击事件、OnMouseMove函数处理鼠标移动事件等。通过重写这些函数,可以实现控件的交互功能,例如点击图片时弹出对话框、拖拽图片等。 在使用自绘图片控件类时,需要创建控件对象并添加到对应的对话框或窗口中。可以使用Create函数来创建控件,并调用ShowWindow函数来显示控件。 总之,自绘图片控件类是MFC框架中的一种特殊控件,可以通过重写绘制函数和其他事件处理函数,实现对图片的自定义绘制和交互功能。通过灵活运用GDI函数和GDI+库,可以实现各种各样的绘图效果,为应用程序增加更丰富的用户界面。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值