怎么用程序添加一个LABEL,并且定义些LABEL的动作
解决方案 »
- 菜鸟请教:TcpServer和indy的idTcpServer哪个好?
- TMS AdvStringGrid 2.4.04如何实现间隔色(奇数行一种颜色,偶数行一种颜色。)
- delphi中象qq中的分组按纽怎么做的,有什么控件吗?
- 请问大家有没有做过一过通用的查询条件模板?请进来帮帮忙!
- ado如何访问ACCESS数据库!?
- scktsrvr.exe 问题
- 急!调试程序时出现..."Class TmemoField not found."...,居然没人解决?
- ******我在安装了一个下载的组件以后,delphi工程无法正常运行******,高分求解!!
- delphi問題
- 请问小数点的问题?
- 缺少个文件,帮帮忙
- 请教多表数据查询合并!这个内容更加详细,谢谢大家!
begin
Parent := Form1;
Left := 10;
Top := 10;
Caption := '你好';
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
Form1 = Class(TForm)
...........
private
...........
procedure DynOnClick(Sender:TObject);
public
.........
end;with TLabel.Create(Self) do
begin
Parent := Form1;
Left := 10;
Top := 10;
Caption := '你好';
onClick := DynOnClick; //给事件
end;
procedure TForm1.DynOnClick(Sender:TObject);
begin
if Sender is TLabel then
Showmessage((Sender as TLabel).Caption); //显示caption
end;
var
tempString : string;
begin
tempString := (Sender as TLabel).Name;
end;
相反TLabel(Sender).Name不会报错,使你的程序存在安全隐患。
……
相反TLabel(Sender).Name不会报错,使你的程序存在安全隐患。这是在胡说吧。as是使用运行时类型信息转化,怎么可能在调试时就报错?
它们的区别是:
1、as通过RTTI进行类型转化,因此对于:
Obj as TDClass
TDClass必须是Obj的类型本身或者其父类,否则转化时出现“Invalid class typecast”错误。
2、TDClass(Obj)是强制转化。速度比as快,且一般没有as转化时的类型限制。比如下面代码也是可以成功运行的:
procedure TForm1.Button1Click(Sender: TObject);
var
tempString : string;
begin
tempString := TLabel(Sender).Name;
ShowMessage(tempString);
end;通常情况下,在已知可以成功转化时,都使用强制转化方法。比如:
if Sender is TButton then
TButton(Sender)……————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————