📄 001.htm
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI专题--用户界面-->窗口中状态行的显示</TITLE>
<META NAME="keywords" CONTENT=" DELPHI专题--用户界面 窗口中状态行的显示">
<META NAME="description" CONTENT=" - DELPHI专题--用户界面 - 窗口中状态行的显示">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<a href="index1.html">返回</a>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">窗口中状态行的显示</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p> 很多的软件为了拥有良好的对话,在工作过程中向用户提供一些动态信息,使用户随时随地了解当前状况。使用状态行是目前采用较多的手段之一。所谓状态行就是位于窗口下方,用于显示一些提示性文字的显示板,利用状态行可以向用户动态提示有关信息,如:当前打开的文件名称、文件大小;当前打开的数据库名称、数据库记录数等。<br>
(1)在窗体中增加状态行,状态行设计分以下几个步骤:<br>
在窗体中加入一个TPanel构件Panel1,其特性设置如下:<br>
*Align为alBottom,状态行总是位于窗体的下部。<br>
*Caption为空。<br>
*Alignment为taLeftJustify,显示文字为左对齐方式。<br>
*Bevelinner为bvLowered;Borderwidth为〉1,产生具有粗线内外框且具有凹下效果的状态
行。<br>
(2)显示系统状态<br>
通过给Panel1的标题(Caption)赋值来更新状态行的显示。如想知道按钮构件(Button1)在键入后,系统打开的文件及其大小,可在Button1的OnClick事件输入如下内容:<br>
ProcedureTForm1.Button1Click(Sender:TObject);<br>
begin<br>
Panel1.Caption:=‘文件名:’+S1+‘文件大小:’+S2<br>
end;<br>
其中:S1和S2均是字符串,S1为文件名,S2为文件大小。<br>
(3)显示各个构件的提示<br>
Windows中有很多的软件使用飞行提示,即当鼠标指定到某部分时,状态行出现其提示;而当鼠标移走后,则该提示消失;Delphi工具同样可以完成上述功能,具体做法如下:<br>
type<br>
TForm1=class(TForm)<br>
Button1:TButton;<br>
Panel1:TPanel;<br>
Edit1:TEdit;<br>
procedureFormCreate(Sender:TObject);<br>
Private<br>
{Privatedeclarations}<br>
public<br>
procedureDisplayHint(Sender:TObject);<br>
end;<br>
var<br>
Form1:TForm1;<br>
implementation<br>
{$R*.FRM}<br>
procedureTForm1.DisplayHint(Sender:TObject);<br>
begin<br>
Panel1.Caption:=Application.Hint:<br>
end;<br>
procedureTForm1.FormCreate(Sender:TObject);<br>
begin<br>
Application.OnHint:=DisplayHint;<br>
end;<br>
在程序中增加了上述内容后,只要Button1的Hint中有内容,当鼠标移动到Button1时,状态行出现Hint中的内容;而当鼠标移走后,状态行中Hint的内容消失。<br>
<br>
巧用回车键<br>
用过Foxpro的用户都知道,键入回车键,程序自动从一个输入框转入到下一个输入框。但Delphi工具采用的方式与Windows完全一样,必须键入Tab键,程序才从一个输入框转入到下一个输入框。这对于用惯了Foxpro的人来说,十分不方便。<br>
Delphi工具提供两种命令按钮,按钮构件(TButton)和图示按钮(TBitbtn)。假设在窗体Form1中有两个输入框Edit1和Edit2,一个按钮构件(Button1)。键入Tab键,程序从输入框Edit1转入到下一个输入框Edit2。若想达到键入回车键,程序从输入框Edit1转入到下一个输入框Edit2,我们可以通过控制按钮构件的特性来达到上述要求。具体方法如下:<br>
<br>
第一种方法<br>
(1)首先将按钮构件Button1的Default特性设置为True,这样在程序执行期间若有回车键键入,则Button1的OnClick事件被执行,在Button1的OnClick事件中编写程序,就可以达到从Edit1输入框到Edit2输入框的目的。<br>
(2)编写TForm1.Button1Click事件程序<br>
procedureTForm1.Button1Click(Sender:TObject);<br>
begin<br>
ifEdit1.Focusedthen<br>
Edit2.SetFocus;<br>
end;<br>
<br>
第二种方法<br>
(1)与第一种方法(1)同样,将按钮构件Button1的Default特性设置为True。<br>
(2)编写Edit2—Focused子程序<br>
procedureTForm1.Edit2—Focused(Sender:TObject);<br>
begin<br>
Edit2.SetFocus;<br>
end;<br>
同时在Unit1中填写:<br>
<br>
public<br>
{Publicdeclarations}<br>
procedureEdit2—Focused;<br>
(3)编写TForm1.Edit1Enter事件<br>
procedureTForm1.Edit1Enter(Senter:TObject);<br>
begin<br>
Button1.OnClick:=Edit2—Focused;<br>
end;<br>
这样,当键入回车键后,Button1的OnClick事件被响应,同于Button1的OnClick事件被定义为子程序Edit2—Focused,所以最终执行的程序是子程序Edit2—Focused的内容,即:Edit2输入框成为焦点。</p>
<hr color="#EE9B73" size="1" width="94%">
</TD>
</TR>
</table>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -