新人求助~~动态创建Tabsheet遇到困难!!Delphi

我想用Pagecontrol动态创建Tabsheet,然后在动态创建的Tabsheet上动态创建一个Richedit。请问当Tabsheet发生切换时怎样才能获得当前激活... 我想用Pagecontrol动态创建Tabsheet,然后在动态创建的Tabsheet上动态创建一个Richedit。

请问 当Tabsheet发生切换时 怎样才能获得当前激活页上的Richedit,并更改其SelAttributes、PlainText等属性 希望哪位大侠能写一下关键代码 谢谢各位大侠。。。
delphi的
展开
 我来答
TheFiend
2009-08-17 · TA获得超过625个赞
知道大有可为答主
回答量:1346
采纳率:0%
帮助的人:1221万
展开全部
unit Unit1;

interface

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

type
TForm1 = class(TForm)
pgc1: TPageControl;
procedure FormCreate(Sender: TObject);
private
procedure OnChangeEvent(s:TObject);
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
tab:TTabsheet;
richEdit:TRichEdit;
begin
for i:=0 to 5 do
begin
tab:=TTabSheet.Create(pgc1);
tab.Parent:=pgc1;
tab.PageControl:=pgc1;
tab.Caption:='tab' + IntToStr(i);
richEdit:=TRichEdit.Create(tab);
richEdit.Parent:=tab;
richEdit.Align:=alClient;
end;
pgc1.OnChange:=OnChangeEvent;
end;

procedure TForm1.OnChangeEvent(s: TObject);
var
tab:TTabSheet;
i:Integer;
edit:TRichEdit;
begin
tab:=pgc1.ActivePage;
if tab=nil then
Exit;
for i:=0 to tab.ControlCount do
if tab.Controls[i] is TRichEdit then
begin
edit:=TRichEdit(tab.Controls[i]);
Break;
end;
if edit=nil then
Exit;
//现在richedit 已经获得了
//要获得其他信息直接edit.xxx就可以了
ShowMessage(IntToStr(edit.SelLength));
end;

end.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式