我要写个组件,这个组件是从Tlabel类继承来的,我要在一个过程中获得
这个组件的Width然后赋给这个组件的Caption该怎么做呢?
我本想这样,一个很笨的办法:
procedure TPL.pl();
begin
Application.MainForm.ActiveControl.Caption:=Application.MainForm.ActiveControl.Width;
//当前正在运行的(程序).(主窗体).(获得焦点的控件).Caption:=(程序).(主窗体).(获得焦点的控 件).Width
end;
但编译不了,我想是因为,不是每个控件都有Caption和Width属性.
那我该如何做呢!?
急啊!!请各位前辈指点!!谢谢!
这个组件的Width然后赋给这个组件的Caption该怎么做呢?
我本想这样,一个很笨的办法:
procedure TPL.pl();
begin
Application.MainForm.ActiveControl.Caption:=Application.MainForm.ActiveControl.Width;
//当前正在运行的(程序).(主窗体).(获得焦点的控件).Caption:=(程序).(主窗体).(获得焦点的控 件).Width
end;
但编译不了,我想是因为,不是每个控件都有Caption和Width属性.
那我该如何做呢!?
急啊!!请各位前辈指点!!谢谢!
begin
Caption:=Width;
end;
Application.MainForm.ActiveControl.Caption:= IntToStr(Application.MainForm.ActiveControl.Width);
果真
procedureTPL.pl();
begin
Caption:=Width;
end;
就行!谢谢jinjazz(近身剪(充电中...)老哥!我还想在问问,如果在程序中,比如
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption:='aaaa';//此处我能不能不用Button1.Caption,换一个所有控件都能用的方法,就是不用控件名称,用个通用的名称, 表示正在发生事件的控件.
end;谢谢!!
jinjazz(近身剪(充电中...)老哥给了我中办法
TButton(Sender).Caption:='aaaa';
但也只能对TButton控件有用,我想找种能对所有控件都有用的,通用的办法.
就象第一个问题一样 Caption:=Width; 谢谢!
procedure TForm1.Button1Click(Sender: TObject);
begin
if Assigned(GetPropInfo(Sender, 'Caption')) then
SetPropValue(Sender, 'Caption', 'aaaa');
end;
除非你想要label或者button的text属性