在不知道控件的name的情况下,从控件的单击事件中如何取控件的Name和caption。比如可以通过sender.classname取控件的类名。谢谢。
解决方案 »
- 怎样改变label的超连接
- indy用得比较熟的麻烦帮个忙。为什么idtcpclient的readln(#$A,5000)调置timeout的值它却仍然会无限期地等下去。是不是indy的BUG啊?我该
- 各位进来看看为何我用Socket接收不到我发送的数据呢?????????????
- 动态创建的TEdit控件,SetFocus总是提示错误
- 哪位朋友可以share一下playicq的帐号啊?我没有手机,注册不了...
- 怎样做到,在一个adoquery所关联的两个表中,在插入时只插入其中一个表,而另一个表不进行插入。
- dbedit问题
- DBComboBox1如何与数据库表的字段关联
- ???delphi5中键盘上的键(包括单键和组合键)如何识别???
- 关于delphi6中的调试问题
- Delphi中BDE连接Access问题!
- 接着赚分.
假如未知控件有caption属性则可以取值,如Tbutton
label1.Caption:=(sender as Tbutton).caption;
//强转换需要先知道其类型
TypInfo;if GetPropInfo(Sender, 'Caption') <> nil then ...
var
strName,strText: String;
begin
if Sender is TComponent then
strName := TComponent(Sender).Name
else
StrName := '(没有Name属性)'; if Sender is TWinControl then
begin
SetLength(strText,MAX_PATH);
SetLength(strText,SendMessage(TWinControl(Sender).Handle,WM_GETTEXT,PChar(strText),MAX_PATH);
end
else
strText := '(无Caption)'; ShowMessage(Format('Name:%s'#13#10'Caption:%s',[strName,strText]));
end;
http://topic.csdn.net/u/20081106/01/3f46d687-a97c-4139-915d-171c3343cff7.html接分。
begin
(sender as Txxxx).name;
end;这意味着首先必须知道控件类型