大多数应用程序在应用程序的主窗体中提供一个区域,通常在窗体的底部对齐,用于在运行时显示有关应用程序的信息。
TStatusBar组件(位于组件调色板的“Win32”页面上)可用于向表单添加状态栏。TStatusBar的Panels属性用于添加、删除或修改状态栏的面板(每个面板由TStatusPanel对象表示)。
TProgressBar(位于组件调色板的“Win32”页面上)显示一个简单的进度条。进度条为用户提供有关应用程序中过程进度的可视反馈。
当放置在表单上时,TStatusBar会自动将自身与底部对齐(Align property=alBottom)。最初,它只有一个面板。
以下是如何将面板添加到面板集合(一旦状态栏添加到表单,假设它具有默认的“StatusBar1”名称):
要在其中一个进度条面板中显示进度条,我们首先需要一个TProgressBar。在表单上删除一个,保留默认名称(ProgressBar1)。
要在状态栏中显示ProgressBar,需要执行以下操作:
以下是完整的代码:
上面讨论的前两个步骤是在表单的OnCreate事件处理程序中完成的。
procedure TForm1.FormCreate(Sender: TObject); var ProgressBarStyle: integer; begin //enable status bar 2nd Panel custom drawing StatusBar1.Panels[1].Style := psOwnerDraw; //place the progress bar into the status bar ProgressBar1.Parent := StatusBar1; //remove progress bar border ProgressBarStyle := GetWindowLong(ProgressBar1.Handle, GWL_EXSTYLE); ProgressBarStyle := ProgressBarStyle - WS_EX_STATICEDGE; SetWindowLong(ProgressBar1.Handle, GWL_EXSTYLE, ProgressBarStyle); end;注意:TProgressBar控件有一个默认边框,当组件放置在状态栏中时,该边框看起来“丑陋”,因此我们决定删除该边框。
最后,处理StatusBar1的OnDrawPanel事件:
procedure TForm1.StatusBar1DrawPanel( StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin if Panel = StatusBar.Panels[1] then with ProgressBar1 do begin Top := Rect.Top; Left := Rect.Left; Width := Rect.Right - Rect.Left - 15; Height := Rect.Bottom - Rect.Top; end; end;准备就绪。运行项目。。。在按钮的OnClick事件处理程序中使用一些伪代码:
procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin ProgressBar1.Position := 0; ProgressBar1.Max := 100; for i := 0 to 100 do begin ProgressBar1.Position := i; Sleep(25); //Application.ProcessMessages; end; end;...可以防止其他人操纵这些加载项文件。 本文将向您展示如何在Delphi可执行文件中嵌入(和使用)声音文件、视频剪辑、动画以及更一般的任何类型的二进制文件。对于最通用的用途,您将看到如何将MP3文件放入Delphi exe中。 ...
... property Value : string read fValue write fValue; end; 下面介绍如何将此“扩展”菜单项添加到PoupMenu1: var menuItemEx : TMenuItemExtended; begin menuItemEx := TMenuItemExtended.Create(PopupMenu1) ; menuItemEx.Caption := 'Extended added at ' + TimeToStr...
下面介绍如何在应用程序运行时使用鼠标拖动和调整控件大小(在Delphi窗体上)。 运行时的表单编辑器 在窗体上放置控件(可视组件)后,可以调整其位置、大小和其他设计时特性。但是,在某些情况下,您必须允许应用...
下面介绍如何将下拉选择列表放置到DBGrid中。使用DBGrid列的PickList属性,为编辑DBGrid中的查找字段创建视觉上更具吸引力的用户界面。 现在,您已经知道什么是查找字段,以及在Delphi的DBGrid中显示查找字段的选项是什么,现...
Delphi的DBGrid是数据库相关应用程序中使用最广泛的DB感知组件之一。它的主要目的是使应用程序的用户能够在表格网格中操作数据集中的记录。 DBGrid组件的一个鲜为人知的特性是,可以将其设置为允许多行选择。这意味着用...
...用程序,那么您可能每天都在使用它。下面,我们将了解如何向您的数据库应用程序中添加更多用户肯定会喜欢的功能。 按照《Delphi数据库编程初学者指南》中描述的概念,下面的示例使用ADO组件(AdoQuery/AdoTable连接到ADOConnec...
...些操作已完成,或者通常是为了引起用户的注意。 在Delphi中,有几种向用户显示消息的方法。您可以使用RTL中提供的任何现成的消息显示例程,如ShowMessage或InputBox;或者您可以创建自己的对话框(供重用):CreateMessageDialog。...
...动我们的战舰。德尔福帮助! 截取键盘输入 大多数Delphi应用程序通常通过特定的事件处理程序处理用户输入,这些事件处理程序使我们能够捕获用户击键并处理鼠标移动。 我们知道焦点是通过鼠标或键盘接收用户输入的...
...贴到应用程序的任何文本或图形的容器。本文将向您展示如何使用TClipboard对象在Delphi应用程序中实现剪切复制粘贴功能。 一般剪贴板 您可能知道,剪贴板一次只能保存一段相同类型的数据进行剪切、复制和粘贴。如果我们...
INI文件是用于存储应用程序配置数据的基于文本的文件。 尽管Windows建议使用Windows注册表来存储特定于应用程序的配置数据,但在许多情况下,您会发现INI文件为程序访问其设置提供了更快的方式。Windows本身甚至使用INI文件...