已知控件可以利用:Tedit(FindComponent('Edit'+inttostr(i))).Text等完成赋值操作. 但未知的已知控件如何赋值呢? 如:下面我的问题:
我在窗体里放了Pagecontrol控件,它所有的页面都是由程序创建的.
由于页面内需要创建的控件可能很多,所以我又在TabSheet里,由程序创建了ScrollBox控件以实现加一个滚动条的效果.它的名字相应的叫ScrollBox1,2,3...
问题:我如何给未知的已知控件赋值?
ScrollBox1.FindComponent
我在窗体里放了Pagecontrol控件,它所有的页面都是由程序创建的.
由于页面内需要创建的控件可能很多,所以我又在TabSheet里,由程序创建了ScrollBox控件以实现加一个滚动条的效果.它的名字相应的叫ScrollBox1,2,3...
问题:我如何给未知的已知控件赋值?
ScrollBox1.FindComponent
解决方案 »
- 帮忙!!dbgrid显示网格的问题!!急急急!!
- 有人听说过Justep Business这个东东吗?
- tstringlist的savetofile如何才能每次把数据追加(append)到文件?
- 如何限制鼠标活动范围在某个窗体之内
- 谁能给我提供一个 实现数学四则混和运算的程序吗?(急)
- 如何在DBGrid的标题栏上画上上下箭头!!
- 买了Delphi 为了做数据库,可是小弟还什么都不会呢~!555,大哥大姐提供点资料阿~!
- 上下对齐的编辑框怎么做?
- 请问windows.pas里面function waitformultipleobjects怎么用?
- dbchart控件的问题!很急的问题!头发都白了
- 继续执行过程的问题??
- 用程序实现自动备份
I, J, K: Integer;
ScrollBox: TScrollBox;
begin
for I := 0 to PageControl.Count - 1 do
begin
for J := 0 to PageControl.Pages[I].ComponentCount - 1 do
begin
if PageControl.Page[I].Components[J] is TScrollBox then
begin
ScrollBox := PageControl.Page[I].Components[J] as TScrollBox;
for K := 0 to ScrollBox.ComponentCount - 1 do
begin
if ScrollBox.Components[K] is TEdit then
(ScrolLBox.Components[K] as TEdit).Text := '....';
end;
Break;
end;
end;
end;
end;
begin
if ScrollBox.Components[K] is TEdit then
(ScrolLBox.Components[K] as TEdit).Text := '....';
end;
你认定它是文本编辑框,这样不好吧.而一个录入窗口有很多种类型的控件.
if (ScrollBox.FindComponent('yourname'+inttostr(PageControl1.TabIndex)+'_'+inttostr(k)) is Tedit) then begin
....
end;
begin
if ScrollBox.Controls[k] is TEdit then
(ScrollBox.Controls[K] as TEdit).Text := '....'
else
// memo1.Lines.Add(ScrollBox.Components[K].Name); //这样写不正确 memo1.Lines.Add(ScrollBox.Controls[K].Name); //Controls
end;