广告
返回顶部
首页 > 资讯 > 精选 >MFC圆形进度条(ProgressContrl)如何实现
  • 925
分享到

MFC圆形进度条(ProgressContrl)如何实现

MFC 2023-08-19 17:08:41 925人浏览 独家记忆
摘要

要实现MFC圆形进度条,可以按照以下步骤进行:1. 创建一个MFC对话框应用程序。2. 在对话框中添加一个Progress Cont

要实现MFC圆形进度条,可以按照以下步骤进行:
1. 创建一个MFC对话框应用程序。
2. 在对话框中添加一个Progress Control控件。在资源视图中,可以在对话框设计器中找到Progress Control,并将其拖放到对话框中。
3. 在对话框类的头文件中添加一个成员变量来控制进度条的值。例如,可以添加一个int类型的成员变量m_nProgress。
4. 在OnInitDialog()函数中初始化进度条的范围和当前值。可以使用CProgressCtrl类的SetRange()和SetPos()函数来实现。
5. 在对话框类的头文件中添加一个CProgressCtrl类型的成员变量m_ProgressCtrl来表示进度条控件。
6. 在DoDataExchange()函数中添加对进度条控件的数据交换。例如,可以使用DDX_Control()函数将m_ProgressCtrl与对话框中的进度条控件关联起来。
7. 在OnInitDialog()函数中获取进度条控件的指针,并设置其样式为PBS_MARQUEE以实现动画效果。可以使用CProgressCtrl类的GetSafeHwnd()和SetMarquee()函数来实现。
8. 在需要更新进度条值的地方,使用m_ProgressCtrl的SetPos()函数来设置进度条的当前值。
9. 编译并运行应用程序,即可看到圆形进度条的效果。
下面是一个示例代码:
对话框类的头文件(.h):
```cpp
#include "afxcmn.h"
class CMyDlg : public CDialog
{
public:
CMyDlg(CWnd* pParent = NULL);
enum { IDD = IDD_MYDLG };
protected:
virtual void DoDataExchange(CDataExchange* pDX);
virtual BOOL OnInitDialog();
afx_msg void OnBtnStart();
DECLARE_MESSAGE_MAP()
private:
int m_nProgress;
CProgressCtrl m_ProgressCtrl;
};
```
对话框类的实现文件(.cpp):
```cpp
CMyDlg::CMyDlg(CWnd* pParent )
: CDialog(CMyDlg::IDD, pParent)
{
m_nProgress = 0;
}
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_PROGRESS, m_ProgressCtrl);
}
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置进度条范围和当前值
m_ProgressCtrl.SetRange(0, 100);
m_ProgressCtrl.SetPos(m_nProgress);
// 设置进度条样式为PBS_MARQUEE
m_ProgressCtrl.SetStyle(PBS_MARQUEE);
m_ProgressCtrl.SetMarquee(TRUE, 100);
return TRUE;
}
void CMyDlg::OnBtnStart()
{
// 模拟进度更新
for (int i = 0; i <= 100; i++)
{
m_nProgress = i;
m_ProgressCtrl.SetPos(m_nProgress);
Sleep(100);
}
}
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
ON_BN_CLICKED(IDC_BTN_START, &CMyDlg::OnBtnStart)
END_MESSAGE_MAP()
```
以上示例代码中,假设对话框资源ID为IDD_MYDLG,进度条控件的ID为IDC_PROGRESS,开始按钮的ID为IDC_BTN_START。在OnBtnStart()函数中模拟进度更新,每次更新进度条值之后,使用Sleep()函数暂停一段时间,以便观察进度条的变化。
希望以上解答对您有帮助!

--结束END--

本文标题: MFC圆形进度条(ProgressContrl)如何实现

本文链接: https://www.lsjlt.com/news/375709.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MFC圆形进度条(ProgressContrl)如何实现
    要实现MFC圆形进度条,可以按照以下步骤进行:1. 创建一个MFC对话框应用程序。2. 在对话框中添加一个Progress Cont...
    99+
    2023-08-19
    MFC
  • MFC圆形进度条怎么实现
    MFC(Microsoft Foundation Class)是用于开发Windows应用程序的一套类库。要实现MFC圆形进度条,可...
    99+
    2023-08-20
    MFC
  • android如何实现圆形进度条
    要实现圆形进度条,可以使用Android的自定义控件来实现。首先,在layout文件中定义一个圆形进度条的布局,例如circle_p...
    99+
    2023-08-20
    android
  • Android View实现圆形进度条
    本文实例为大家分享了Android View实现圆形进度条的具体代码,供大家参考,具体内容如下 主要涉及到下面几个方法: // 画圆 canvas.drawCircle // 画...
    99+
    2022-11-12
  • 如何使用CSS实现圆形进度条
    这篇文章主要介绍了如何使用CSS实现圆形进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   首先一个父级div设置相对定位,内部含有...
    99+
    2022-10-19
  • android圆形进度条怎么实现
    要实现一个圆形进度条,你可以使用`ProgressBar`控件来实现,并将其样式设置为圆形。首先,在布局文件中添加以下代码:```x...
    99+
    2023-08-30
    android
  • JavaScript实现圆形进度条效果
    本文实例为大家分享了JavaScript实现圆形进度条效果的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"...
    99+
    2022-11-12
  • java圆形进度条怎么实现
    以下是一个简单的Java圆形进度条的实现代码:import java.awt.Color;import java.awt.Dimen...
    99+
    2023-05-13
    java圆形进度条 java
  • Android实现自定义圆形进度条
    今天无意中发现一个圆形进度,想想自己实现一个,如下图: 基本思路是这样的: 1.首先绘制一个实心圆 2.绘制一个白色实心的正方形,遮住实心圆 3.在圆的中心动态绘制当前进度的...
    99+
    2022-06-06
    自定义 进度条 Android
  • JS实现圆形进度条拖拽滑动
    本文实例为大家分享了JS实现圆形进度条拖拽滑动的具体代码,供大家参考,具体内容如下 效果展示 半圆进度条效果 圆形进度条 代码实现 <!doctype html>...
    99+
    2022-11-12
  • Android自定义View实现圆形进度条
    本文实例为大家分享了Android自定义View实现圆形进度条的具体代码,供大家参考,具体内容如下 原理非常简单,在自定义View的基础上使用Canvas的drawCircle画两个...
    99+
    2022-11-13
  • Android中实现圆形进度条的方法
    本篇文章为大家展示了Android中实现圆形进度条的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。主要思路是写一个继承ProgressBar的自定义View代码:package com.fun....
    99+
    2023-05-31
    android roi %d
  • 怎么用Android View实现圆形进度条
    本篇内容主要讲解“怎么用Android View实现圆形进度条”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Android View实现圆形进度条”吧!主要涉及到下面几个方法://&nbs...
    99+
    2023-06-20
  • Android实现带数字的圆形进度条(自定义进度条)
    开发 设计搞了一个带圆形进度的进度条,在GitHub上逛了一圈,发现没有,自己撸吧。 先看界面效果: 主要思路是写一个继承ProgressBar的自定义View,不废话,直接...
    99+
    2022-06-06
    自定义 进度条 Android
  • 微信小程序中如何实现圆形进度条
    这篇文章主要为大家展示了“微信小程序中如何实现圆形进度条”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序中如何实现圆形进度条”这篇文章吧。需求概要小程序...
    99+
    2022-10-19
  • 微信小程序如何实现实时圆形进度条
    这篇文章主要为大家展示了“微信小程序如何实现实时圆形进度条”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序如何实现实时圆形进度条”这篇文章吧。效果图如下...
    99+
    2022-10-19
  • Android自定义控件实现圆形进度条
    项目中常用到的圆形进度条有好多个,从网上搜到的自定义进度条多是封装的比较好的代码,但是不利于初学者,现在本博客就教给大家如何一步步实现自定义进度条的效果: 先看效果如图… ...
    99+
    2022-06-06
    进度条 Android
  • WPF实现圆形进度条的示例代码
    WPF 实现圆形进度条 框架使用.NET40;Visual Studio 2019;CircularProgressBar 继承 ProgressBar,在&nb...
    99+
    2023-01-04
    WPF实现圆形进度条 WPF圆形进度条 WPF进度条
  • 详解Android如何自定义view实现圆形进度条
    Android中实现进度条有很多种方式,自定义进度条一般是继承progressBar或继承view来实现,本篇中讲解的是第二种方式。 先上效果图: 实现圆形进度条总体来说并不难,还...
    99+
    2022-11-13
  • Qt使用QPainter实现自定义圆形进度条
    目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 roundprogressbar.h和roundprogressbar.cpp4.2 widget.h头文件4....
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作