读书人

怎么知道PageControl控件当前页中有多

发布时间: 2012-02-24 16:30:39 作者: rapoo

如何知道PageControl控件当前页中有多少个控件?

页中控件是程序创建的.
ShowMessage(inttostr(PageControl1.ActivePage.PageControl.ControlCount)); //显示多少页

ShowMessage(inttostr( PageControl1.ActivePage.ControlCount-1)); //这样得不到有多少个控件

[解决办法]
没错啊
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;

type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var Label1:TLabel;
Edit1:TEdit;
Button1:TButton;
Memo1:TMemo;
begin
Label1:=TLabel.Create(Self);
Label1.Caption:= 'Label1 ';
Label1.Left:=10;
Label1.Top:=10;
Label1.Parent:=TabSheet1;
ShowMessage(IntToStr(PageControl1.ActivePage.ControlCount));
Edit1:=TEdit.Create(Self);
Edit1.Text:= 'Edit1 ';
Edit1.Left:=10;
Edit1.Top:=25;
Edit1.Parent:=TabSheet1;
ShowMessage(IntToStr(PageControl1.ActivePage.ControlCount));
Button1:=TButton.Create(Self);
Button1.Caption:= 'Button1 ';
Button1.Left:=10;
Button1.Top:=45;
Button1.Parent:=TabSheet1;
ShowMessage(IntToStr(PageControl1.ActivePage.ControlCount));
Memo1:=TMemo.Create(Self);
Memo1.Text:= 'Memo1 ';
Memo1.Left:=10;
Memo1.Top:=70;
Memo1.Parent:=TabSheet1;
ShowMessage(IntToStr(PageControl1.ActivePage.ControlCount));
end;

end.

[解决办法]
ShowMessage(IntToStr(PageControl1.PageCount)); //显示多少页

ShowMessage(inttostr( PageControl1.ActivePage.ControlCount)); //有多少个控件

[解决办法]
提醒一下:
你的代码正确.
但如果你在页面中使用了其它的容器控件(如加滚动条)作为父窗口,那么控件数为1

读书人网 >.NET

热点推荐