我在一个PageControl上动态生成TabSheet,并在上面动态生成一个TEdit:
procedure TForm1.Button1Click(Sender: TObject);
var
Text1: TEdit;
TabSheet1: TTabSheet;
begin
PageControl1.Visible:=True;
TabSheet1:=TTabSheet.Create(self);
TabSheet1.PageControl:=PageControl1;
TabSheet1.Align:=alClient;
Text1:=TEdit.Create(self);
Text1.Parent:=TabSheet1;
end;
成功了。然后,现在我想在另一段程序中设置PageControl中当前活动TabSheet上的Edit控件的内容,却不知道该怎么写?下面的程序,显然是不行了!
procedure TForm1.Button2Click(Sender: TObject);
begin
PageControl1.ActivePage.Text1.Text:='test';
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Text1: TEdit;
TabSheet1: TTabSheet;
begin
PageControl1.Visible:=True;
TabSheet1:=TTabSheet.Create(self);
TabSheet1.PageControl:=PageControl1;
TabSheet1.Align:=alClient;
Text1:=TEdit.Create(self);
Text1.Parent:=TabSheet1;
end;
成功了。然后,现在我想在另一段程序中设置PageControl中当前活动TabSheet上的Edit控件的内容,却不知道该怎么写?下面的程序,显然是不行了!
procedure TForm1.Button2Click(Sender: TObject);
begin
PageControl1.ActivePage.Text1.Text:='test';
end;
解决方案 »
- 请问TVirtualStringTree是哪个组件包里的?
- 如何在程序中继承另一窗体内的控件
- 关于EXCEL存盘的问题
- 在delphi里面创建SQL数据库和删除数据库的问题
- 急!谁知道怎么解决这个异常类啊?
- 请问如何将StringGrid按其格式打印?
- 用TCanvas在TButton表面绘图
- 有关在STINGRID中更改颜色的问题
- 关于RzPageControl的问题:当鼠标放到其中一个TabSheet上,还未选中的标签页,那么如何让关闭的叉叉自动显示出来啊?
- 给分!给分!!一定给分!!!在local sql中,如何使用日期函数?
- 内存回收的问题,请高手指教!
- 多线程冲突问题,实在不懂!紧急求救!
Text1:=TEdit.Create(self);
Text1.Parent:=TabSheet1;
Text1.tag:=1; Text1:=TEdit.Create(self);
Text1.Parent:=TabSheet1;
Text1.tag:=2
找的时候:
For i:=componentCount-1 do
(if components[i] is Tedit) then
.......................或者:
For i:=componentCount-1 do
if components[i] is Tedit then
if (component[i] as Tedit).tag=1.......... then
...........
begin
edt1 := TEdit.Create(Self);
edt1.Parent := Panel1;
edt1.Name := 'edt222';
edt1.Show;
end;procedure TForm1.BitBtn2Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to Panel1.ControlCount - 1 do begin
if (Panel1.Controls[i] is TEdit) and (Panel1.Controls[i].Name = 'edt222') then begin
(Panel1.Controls[i] as TEdit).Text := 'abcdef';
end;
end;
end;呵呵~,请参照上面的代码,在Delphi7.0下调试通过。
但对我的问题还是有点小问题,我的代码如下:
我的每个TabSheet上只有一个TEdit,想设置其属性,遍历整个窗体的所有组件,好象有点不是很高效吧?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
PageControl1: TPageControl;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
Text1: TEdit;
TabSheet1: TTabSheet;
begin
PageControl1.Visible:=True;
TabSheet1:=TTabSheet.Create(self);
TabSheet1.PageControl:=PageControl1;
TabSheet1.Align:=alClient;
Text1:=TEdit.Create(self);
Text1.Parent:=TabSheet1;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
// 我想在这里设置当前PageControl的活动TabSheet上TEdit的内容,不知道怎么写?
end;end.