Delphi编程中在状态栏动态添加进度条

【控件功能】我来做练习-第36课-Delphi status bar example Delphi status bar example 阅读详情
Delphi编程中在状态栏动态添加进度条
[ 探索在线|2005-06-16 12:20:38 | 作者: Admin ]
        一般情况下,我们可以创建非模式对话框并在上面显示进度条。如果能够利用状态条,在状态条中动态地添加并显示进度条,将会更加方便直观。下面将讲述如何在Delphi 5中编程实现在状态条中动态地添加进度条。具体的过程如下:
  1.在Delphi 5中通过菜单“File/New Application”创建一个新的工程。
  2.在窗体中添加一个状态栏组件StatusBar1,一个Button组件Button1。在状态栏编辑器中为状态栏添加两个显示面板,因为后面将要在第二个面板中显示进度条,所以将第二个面板的Style属性设置为psOwnerDraw。将Button1组件的Caption属性设置为“演示操作”。
  3.在Unit1.pas文件的TForm1的类型定义中添加下面的变量定义:
  ......
  private
  { Private declarations }
     progressBar:TProgressBar;// 进度条组件
     progressBarRect:TRect; // 进度条组件的尺寸
  public
  { Public declarations }
  ......
  4.在状态栏的OnDrawPanel事件的处理过程中,获取将Style属性设置为psOwnerDraw的面板的尺寸。添加StatusBar1组件的OnDrawPanel事件的处理过程如下:
  procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
                                                                                        Panel: TStatusPanel; const Rect: TRect);
  begin
             {进度条组件的尺寸设定为状态条中的第二个显示面板的尺寸,
              因为该面板的Style属性已被设置为psOwnerDraw}
       progressBarRect:=Rect;
  end;
  5.在按下按钮Button1组件时将执行一个模拟计算过程的循环操作,同时动态地在StatusBar1的第二个面板中创建并显示ProgressBar组件,并将其父级设置为StatusBar1组件。添加Button1组件的OnClick事件的处理过程如下:
  procedure TForm1.Button1Click(Sender: TObject);
  var
  // I为循环变量, StepCount为执行循环的总数目
     I,StepCount : Integer;
  begin
  //动态创建进度条组件progressBar
      progressBar:=TProgressBar.Create(Form1);
      StepCount:=10000; // 循环的总数目
       with progressBar do
       begin
       // 先确定进度条组件的尺寸和位置
           Top:=ProgressBarRect.Top;
            Left:=ProgressBarRect.Left;
            Width:=ProgressBarRect.Right-ProgressBarRect.Left;
            Height:=ProgressBarRect.Bottom-ProgressBarRect.Top;
            Visible:=True; // 使进度条可见
            try
              Parent:=StatusBar1; // parent属性设置为状态栏组件
              Min:=0;// 设定进度条的范围和步长
              Max:=StepCount;
              Step:=1;
              for I:=1 to StepCount do
              begin
                  Stepit;// 循环使进度显示条累加
              end;
              MessageDlg(′演示操作已经完成!′, mtInformation, [mbOK], 0);
           finally
              Free;// 最后释放进度条组件占用的资源
           end;
      end;
  end;
  通过这种方法我们就可以在状态条中动态地添加进度条,同样的原理还用于在状态栏中添加其他的组件,过程基本一致。以上程序在Delphi 5、Windows98中调试通过。  
【delphi11】delphi基础探索【三、基础组件和事件】 事件和事件处理器 1. 事件 定义:在 Delphi 中,事件是指在程序运行时发生的某种情况,通常由用户操作(如点击、键入)或程序逻辑(如时间到达)触发。 组件事件:几乎所有的 VCL 组件都有事件,如 、、 等。 2. 事件处理器 定义:事件处理器是响应特定事件的过程或函数。它定义了当事件发生时应执行的操作。 创建方式:在设计视图中双击一个组件可自动生成事件处理器的框架代码。 创建和使用事件处理器 步骤 1:选择组件和事件 选择你想要响应的事件类型。例如,如果你想在用户点 阅读详情

相关推荐

Delphi嵌入式浏览器控件EmbeddedWB:从IE内核到现代WebView的演进与实践

在桌面应用开发中,浏览器控件是实现原生应用与Web内容融合的关键技术组件。其核心原理是通过封装操作系统提供的浏览器渲染引擎(如IE的Trident),为应用程序提供内嵌的网页渲染与交互能力。这项技术的价值在于能够以较低成本扩展桌面应用的功能边界,实现动态内容展示、在线帮助、数据可视化等混合开发场景。随着Web技术的演进,从早期的IE内核到现代Chromium内核,浏览器控件经历了从兼容性适配到性能与标准支持全面提升的过程。本文聚焦于Delphi开发中的经典控件EmbeddedWB,深入探讨其多版本兼容性、I

chubaisheng8627的博客 432

centos 查看进程_Progress查看命令实际执行的操作

当您使用简单的cp命令在没有标志的情况下复制终端中的大文件时,您有时可能会怀疑它是否真的在复制或者进程被某种方式阻止,它实际上永远不会完成。 输出不存在,您很想按Ctrl-C结束中止进程。 那么,您可以在另一个终端窗口中下载progress实用程序并运行它以查看命令实际执行的操作。 Progress包支持cp,mv,dd,tar,gzip / gunzip,cat和其他基本的coreutils命令...

weixin_39999209的博客 1249

一个Delphi进度条动画效果类.rar

一个Delphi进度条动画效果类,使用这个类可在窗体中快速生成一个带动画效果的进度条,蓝色风格,十分漂亮,如演示效果所示。这个源码中还包括了生成Delphi右键弹出菜单的代码,这个也是很有参考价值的,特别是对Delphi新手来说。

DELPHI界面必学的知识

窗体的属性 1.Appearance属性功能:设置窗体中控件是否以三维立体方式显示。取值:1) 1-3D 默认设置,以三维立体方式窗体上的控件。    2) 0-Flat 以二维方式显示窗体上的控件。该属性不能通过代码在运行时设置,必须通过属性窗口在设计

lvboliang的专栏 1609

Delphi中状态栏显示进度条

procedure TAddProgressbarFrm.AddProgressToStatus;var i,Count,StatusPanelWidth: Integer;begin FProgress := TProgressbar.Create(AddProgressbarFrm); {定义进程条的最大值} Count := 3000; StatusPanelWidth := Status.Panels.Items[2].Width; {改变进度条宽度} Status.Panels.Items[2].Width := 150; Status.Repaint; with FProgress do begin Top := FStatusDrawRect.Top; Left := FStatusDrawRect.Left; {设定进程条的宽度和高度} Width := FStatusDrawRect.Right - FStatusDrawRect.Left; Height := FStatusDrawRect.Bottom - FStatusDrawRect.Top; Visible := True; try Parent := Status; {进程条的最小和最大值} Min := 0; Max := Count; Step := 1; for i := 1 to Count do Stepit; MessageBox(Handle,#13+‘现在,进程条将要从内存中被释放‘+#13+#13 +‘ [刀剑如梦软件创作室]‘,‘信息提示‘,MB_OK+MB_ICONINFORMATION); finally {从内存中释放进程条} Free; end; end; {恢复状态条的宽度} Status.Panels.Items[2].Width := StatusPanelWidth;end;

AMBA总线—APB总线协议详解

文章目录一、APB总线介绍1.1.什么是APB总线1.2.典型的基于 AMBA 总线的系统架构1.3.APB信号列表(重点)二、APB总线传输(时序)2.1.APB 状态机2.2.写操作(重要)2.3.读操作(重要)2.4.APB组件接口(重要)2.4.1.APB Bridge框图2.4.2.APB Slave框图三、APB到AHB的接口3.1.读操作3.2.写操作3.3.读写交替传送 一、APB...

Mr.翟的博客 4万+

利用Delphi实现系统状态栏图标

 利用Delphi实现系统状态栏图标 2006年09月04日 星期一 10:39 P.M.转贴:利用Delphi实现系统状态栏图标作者:吴淑华  系统状态栏图标是指在Windows桌面系统下边的任务栏右边区域内显示的小图标,通常包括时间和输入法,另外,还会包括一些应用程序,如金山词霸或其它一些杀毒软件等的小图标。通常用鼠标右键点击这些小图标时会弹出菜单,通过选择这些菜单

大西瓜 1135

Python数据分析案例——宏观经济指标与沪深指数实证研究分析

沪深300指数与宏观经济指标关联性研究:2015-2024实证分析 摘要:本文基于2015-2024年月度数据,采用多元回归方法分析宏观经济指标对沪深300指数的影响。研究发现,市场情绪(SEN)、美国利率(STY)、美元指数(DXY)、狭义货币供应量(M1)和CPI对指数具有显著解释力(P<0.05),而GDP、LPR等传统指标影响不显著。模型解释力达62%(R²=0.62),表明A股短期走势更受资金流动、投资者心理和国际金融条件驱动。研究为投资者提供了除基本面外的市场预判指标,建议关注M1增速、美

weixin_50902344的博客 1404

delphi编程中在状态栏动态添加进度条

1.在Delphi 5中通过菜单“File/New Application”创建一个新的工程。  2.在窗体中添加一个状态栏组件StatusBar1,一个Button组件Button1。在状态栏编辑器中为状态栏添加两个显示面板,因为后面将要在第二个面板中显示进度条,所以将第二个面板的Style属性设置为psOwnerDraw。将Button1组件的Caption属性设置为“演示操作”。  

dainiao01的专栏 1545

[Pytorch案例实践001]手写MNIST数字识别

Pytorch实现手写数字识别,带完整数据集。

2403_83044722的博客 1115

下载Python3.10的相关方法及问题解决

下载Python3.10的相关方法及问题解决 报错unable to locate package python3.10-dev以及subprocess.CalledProcessError: Command ‘(‘lsb_release‘, ‘-a‘)‘ returned non-zero exit status 1问题解决

Istil 1555

[Delphi程序开发]delphi编程中在状态栏动态添加进度条

====================================================== 注:本文源代码点此下载 ====================================================== delphi编程中在状态栏动态添加进度条 关键字:进度条 一般情况下,我们可以创建非模式对话框并在上面显示进度条。如果能够利用状态条,在状态条

javazhuanzai的专栏 394

Excel VBA--按某一列拆分数据到多个文件

首先,将需要拆分的sheet命名为“明细”,接下来运行此代码,按提示操作即可。 在这里插入代码片 Sub chaifen() '定义变量类型 Dim sht, sh1, sh2 As Worksheet Dim k, i, j As Integer Dim irow As Integer Dim col As Integer Dim str As String '程序开始是要求输入按哪一列拆分数...

weixin_43650026的博客 5873

用DELPHI在状态栏中显示进程条

 用DELPHI在状态栏中显示进程条作者:小刀轻舞出处:天极开发责任编辑: 方舟 [ 2006-06-30 13:34 ]经常上网的朋友可能早就已经发现,在一些浏览器的底部会在某些情况下动态显示一个进程条 document.write("");document.write("

.NET&Delphi小站----编程技术的乐园 975

OpenCompass实战:从零部署大模型评测平台,量化模型能力选型

在大模型技术选型与评估中,客观、可量化的评测体系是工程实践的关键。其核心原理在于通过标准化的数据集、统一的评测方法与自动化流程,将主观的模型体验转化为可比较的指标数据。这种评测框架的技术价值在于解决了模型能力评估的模糊性问题,为开发者提供了模型选型、效果对比与迭代优化的科学依据。典型的应用场景包括对比不同开源模型在代码生成、逻辑推理等特定任务上的性能,或是评估微调后模型在业务数据集上的提升效果。OpenCompass作为开源的大模型全能力评测平台,正是这一理念的工程化实现。它通过模块化的四层流水线架构和配置

weixin_28725037的博客 626

保姆级教程:用MATLAB搞定双目相机标定,从导入图片到参数解读全流程

本文提供了一份详细的MATLAB双目相机标定全流程指南,涵盖从图片准备到参数解读的每个环节。重点讲解了棋盘格选择、拍摄技巧、MATLAB工具箱设置及参数优化,帮助读者避免常见错误并提升标定精度。特别适合机器人导航、三维重建等领域的开发者。

weixin_33737134的博客 429

在状态栏动态加进度条

 一般情况下,我们可以创建非模式对话框并在上面显示进度条。如果能够利用状态条,在状态条中动态地添加并显示进度条,将会更加方便直观。下面将讲述如何在Delphi 5中编程实现在状态条中动态地添加进度条。具体的过程如下:  1.在Delphi 5中通过菜单“File/New Application”创建一个新的工程。  2.在窗体中添加一个状态栏组件StatusBar1,一个Button组件Butto

726

RK3588平台开发系列讲解(硬件篇-功能外设2)

RK3588 芯片内置两个USB3.0 OTG控制器(内嵌2个USB2.0 OTG,下图绿色处),1个USB3.0 HOST 控制器,2个USB2.0 HOST控制器。这些控制器与PHY的内部复用图如下:USB3.0 OTG0 控制器支持SS/HS/FS/LS, 内嵌的USB2.0(HS/FS/LS)信号采用USB2.0 OTG PHY, 信号名见下图的红色方框内;RK3588目前仅此接口支持做Fireware的Download,应用中请务必要预留出。

whm128的博客 2509

Delphi在StatusBar上绘制ProgressBar

首先,在TForm的私有域,也就是private下设置两个变量ProgressBar、ProgressBarRect,其中ProgressBar为 TProgressBar类型,ProgressBarRect为TRect类型,完整的定义如下:typeTForm1 = class(TForm)......privateProgressBar: TProgressBar;...

weixin_30735745的博客 527

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

102_《Delphi5编程实例与技巧》

Delphi是由Inprise公司推出的面向对象的可视化软件开发工具。Delphi 5是Delphi的最新版本。 本书共分三部分、16章,主要介绍Delphi 5集成开发环境,对象Pascal语言、组件、通用编程技术、动态链接库、多线程、多媒体编程、数据库编程、网络编程和Windows API编程等。

敦格 3025

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

计算机多媒体技术1004无标题,Delphi 5编程示例与方法

目录上篇第一部分 Delphi编程基础第1章 Delphi集成开发环境11。1 集成研发环境简介11。2 集成调试器51。3 开发环境的改进61。3。1 自定义工具栏61。3。2 编程环境设定71。3。3 编辑环境设置81。3。4 工程设置81。4 方法与要点91。4。1 使用代码浏览器91。4。2 使用代码编辑器91。4。3 使用帮助系统101...

weixin_36330518的博客 487

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 托盘程序演练
下一篇: dotnet调用delphi写的cgi
start0823
博客等级 码龄21年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值