Sender和Hint理解

2017-12-13 1 unit Unit1;
 2 
 3 interface
 4 
 5 uses
 6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 7   Dialogs, StdCtrls, ExtCtrls;
 8 
 9 type
10   TForm1 = class(TForm)
11     btn1: TButton;
12     btn2: TButton;
13     btn3: TButton;
14     mmo1: TMemo;
15     btn4: TButton;
16     pnl1: TPanel;
17     pnl2: TPanel;
18     lbl1: TLabel;
19     lbl2: TLabel;
20     btn5: TButton;
21     btn6: TButton;
22     mmo2: TMemo;
23     procedure btn1Click(Sender: TObject);
24     procedure btn2Click(Sender: TObject);
25     procedure btn3Click(Sender: TObject);
26     procedure btn4Click(Sender: TObject);
27     procedure FormCreate(Sender: TObject);
28     procedure btn5Click(Sender: TObject);
29     procedure btn6Click(Sender: TObject);
30   private
31     { Private declarations }
32   public
33     { Public declarations }
34     procedure TextSender(Sender: TObject);
35   end;
36 
37 var
38   Form1: TForm1;
39 
40 implementation
41 
42 {$R *.dfm}
43 
44 procedure TForm1.btn1Click(Sender: TObject);
45 begin
46   with Sender as TButton do //将sender作为Tbutton类使用 ,as操作符是类型转换。
47   begin
48     Caption := '测试Sender';   //如果不进行转换,Sender将被视为按钮父类窗口
49   end;
50 end;
51 
52 procedure TForm1.btn2Click(Sender: TObject);   //使用Button2调用Button1的点击事件,传入Button2自身做参数
53 begin
54   btn1Click(btn2);
55 end;
56 
57 procedure TForm1.TextSender(Sender: TObject);   //自定义过程
58 begin
59   if Sender = btn3 then
60     ShowMessage('btn3调用了过程.');
61   if Sender = btn4 then
62     ShowMessage('btn4调用了过程');//如果在两个事件中处理同样的事情,那么可以利用Sender来省去重写同样的过程
63 end;
64 
65 procedure TForm1.btn3Click(Sender: TObject);
66 begin
67   TextSender(btn3); //使用Button3调用自定义参数为Sender过程
68 end;
69 
70 procedure TForm1.btn4Click(Sender: TObject);
71 begin
72   TextSender(btn4);//使用Button4调用自定义参数为Sender过程
73 end;
74 
75 procedure TForm1.FormCreate(Sender: TObject);
76 begin
77   ShowHint := True;
78 end;
79 
80 procedure TForm1.btn5Click(Sender: TObject);
81 begin
82   Application.HintColor := clRed; //提示背景
83 end;
84 
85 procedure TForm1.btn6Click(Sender: TObject);
86 begin
87   Screen.HintFont.Size := 16;
88   //Screen.HintFont.Color := clWindow;//window字体
89   Screen.HintFont.Color := clYellow;  //字体设置
90 end;
91 
92 end.

 

转载于:https://www.cnblogs.com/fanzhc/p/8030555.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值