Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:08:54
delphi一个简单组件编程示例

delphi一个简单组件编程示例

简单组件编程示例

现在编写一个简单的示例性程序,主要是对以上各组件的属性进行控制,功能为:利用一个TRadioGroup 组件控制TPanel 组件是否显示;TScrollBar 组件控制TLabel 组件的文字大小;TComboBox组件更改TLabel 组件的字体;TRadioButton 组件设置TLabel 组件文字颜色;TCheckBox 组件设置TLabel 组件文字的字形。这些功能的实现主要是利用了各种组件常用的属性、事件及方法,能够帮助读者尽快掌握这些组件的用法。

(1) 新建一个工程,在Form1 窗体上添加一个TRadioGroup 组件、一个TPanel 组件、一个TScrollBar组件、一个TComboBox 组件、3 个TRadioButton 组件、3 个TCheckBox 组件、一个TButton 组件和两个TLabel 组件。

(2)分别为各控件编写响应代码,来实现各种操作。

① RadioGroup1 组件的OnClick 事件,功能为隐藏或显示Panel 组件,实现方法为改变Panel 组件的Visible 属性值。代码如下:

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

if RadioGroup1.ItemIndex=0 then

Panel1.Visible:=True

else

Panel1.Visible:=False;

end;

② ScrollBar1 组件的OnChange 事件,功能为更改Label1 组件的文字大小,实现方法是利用ScrollBar 的取值来控制Label 组件Font 属性的字体大小。代码如下:

procedure TForm1.ScrollBar1Change(Sender: TObject);

begin

Label1.Font.Size:=ScrollBar1.Position;

end;

③ ComboBox1 组件的OnChange 事件,功能为更改Label1 组件的字体,实现方法是将ComboBox组件中选中的预设字体名称赋值给Label 组件的字体名。代码如下:

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

Label1.Font.Name:=ComboBox1.Text;

end;

④ 3 个TRadioButton 组件的OnClick 事件,功能为更改Label1 组件的文字颜色,实现方法为更改Label 组件的字体颜色属性。代码如下:

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

Label1.Font.Color:=clRed;

end;

procedure TForm1.RadioButton2Click(Sender: TObject);

begin

Label1.Font.Color:=clGreen;

end;

procedure TForm1.RadioButton3Click(Sender: TObject);

begin

Label1.Font.Color:=clBlue;

end;

⑤ Button1 组件的OnClick 事件,首先判断3 个TCheckBox 组件的选中情况,然后再设置Label1组件Font 属性下字体格式(Style),如粗体、斜体和下划线等。代码如下:

procedure TForm1.Button1Click(Sender: TObject);

begin

Label1.Font.Style :=[];

if CheckBox1.Checked then

Label1.Font.Style:=[fsBold];

if CheckBox2.Checked then

Label1.Font.Style :=Label1.Font.Style +[fsItalic];

if CheckBox3.Checked then

Label1.Font.Style :=Label1.Font.Style +[fsUnderline];

end;

(3)按“F9”键编译并运行示例程序,执行各种操作。




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759