Caption?(50分)

  • 主题发起人 主题发起人 金少
  • 开始时间 开始时间

金少

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将界面上有Caption属性的控件分辨出来?
 
用鼠標取字方法不行嗎?
這個方法簡單實用.
 
什幺是鼠标取字方法
怎样实现? thanks
 
不知这样行吗?用rtti.,
uses typinfo.
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
propinfo:ppropinfo;
begin
for i:=0 to componentcount-1 do
begin
propinfo:=getpropinfo(components.classinfo,'caption');
if propinfo<>nil then
listbox1.Items.Add(components.ClassName);
end;
end;
 
如果我想将界面上所有有Caption属性的控件的Caption都赋值”abc”
有办法实现吗? Thanks!
 
setpropinfo

--
http://www.8421.org
 
这分我要定了.
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
propinfo:ppropinfo;
begin
for i:=0 to componentcount-1 do
begin
propinfo:=getpropinfo(components.classinfo,'caption');
if propinfo<>nil then
setordprop(components,propinfo,longint(pchar('abcd')));
end;
end;
 
jbas 谢谢你, 还想请教一下, 想要同时将有Caption属性及Text属性的控件选出来

 
>>想要同时将有Caption属性及Text属性的控件选出
一个控件,既有Caption属性又有Text属性?哪个控件?
不知下面的能满足你的要求吗?
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
propinfo:ppropinfo;
begin
for i:=0 to componentcount-1 do
begin
propinfo:=getpropinfo(components.classinfo,'caption');
if propinfo<>nil then
begin
propinfo:=getpropinfo(components.classinfo,'text');
if propinfo<>nil then
listbox1.Items.Add(components.ClassName);
end;
end;
end;
 
不好意思, 我意思是说将有text属性的控件和Caption的属性都选择出来!
你有什幺高见吗?
 
高见不敢当,我还是新手呢。[:(]
这样应该可以了吗?
你可以改getpropinfo函数的最后一个参数,让它变为你要的属性。
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
propinfo:ppropinfo;
begin
for i:=0 to componentcount-1 do
begin
propinfo:=getpropinfo(components.classinfo,'caption');
if propinfo<>nil then
listbox1.Items.Add('有caption属性的控件:'+components.ClassName);
propinfo:=getpropinfo(components.classinfo,'text');
if propinfo<>nil then
listbox1.Items.Add('有Text属性的控件:'+components.ClassName);
end;
end;
 
设置字符串属性,使用 SetStrProp 较 SetOrdProp 更为专业:)
 
多人接受答案了。
 
后退
顶部