怎样知道一个控件是否还有子控件,且子控件有Caption属性? ( 积分: 50 )

  • 主题发起人 主题发起人 strongburn
  • 开始时间 开始时间
S

strongburn

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样知道一个控件是否还有子控件,且子控件有Caption属性?
例如DBGRID
 
怎样知道一个控件是否还有子控件,且子控件有Caption属性?
例如DBGRID
 
用ControlCount看是否有子控件。
 
我的难点是写一个过程参数是一个控件(包括dbgrid,cxgrid,wwdbgrid等),要求对控件中
所有的Caption付值。怎么作呀?
 
参考一下:
//
procedure ClearAllText();
var
i:Integer;
begin
For i:=0 to TabSheet1.ControlCount-1 do
begin
if (TabSheet1.Controls is TEdit) then
TEdit(TabSheet1.Controls).Text:='';
if (TabSheet1.Controls is TComboBoxEx) then
TComboBoxEx(TabSheet1.Controls).Text:='';
if (TabSheet1.Controls is TComboBox) then
TComboBox(TabSheet1.Controls).Text:='';
if (TabSheet1.Controls is TMemo) then
TMemo(TabSheet1.Controls).Text:='';
end;
end;
 
dbgrid中并无caption属性,只在columns.Title中有caption属性,如果要编程的话,就必须先枚举一级属性(columns),在枚举二级属性(title),才能得到caption
 
感谢各位的回答。
我现在的方法是查找此控件是否有Columns来判断是否对Columns.title.caption进行操作,用(RTTI实现)。但太局限了,我的原本意思是想找一个通用方法,能够判断控件是否有控件属性,再判断子控件是否有Caption.一层层找,完成对所有的Caption操作。
不知大家是否明白我的意思,希望各位高手帮助。
 
肯定使用RTTI实现,枚举所有的属性,察看属性是否是对象,再枚举此对象的所有属性,只能这样了
 
后退
顶部