★★★★★★大家一起修改这个程序,相互提高编程技巧★★★★★★★★★★★

lyboy99 2001-05-02 11:23:00
下面的程序是实现在一个PageControl中,当点Button,将动态创建一页TabSheet
并且创建页上有TWebBrowser控件。请大家看看下面程序为什么不能正常编译运行。






unit Unit1;

interface

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

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

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
CTabSheet:=TTabSheet.Create(PageControl1);
CTabSheet.Parent:=PageControl1;
CTabSheet.PageControl:=PageControl1;
CTabSheet.caption:='Tab';
WB:=TWebBrowser.Create(CTabSheet);
WB.parent :=CTabSheet ;

end;

end.
...全文
68 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lyboy99 2001-05-02
procedure TForm1.Button1Click(Sender: TObject);
begin
CTabSheet:=TTabSheet.Create(self);
CTabSheet.Parent:=self;
CTabSheet.PageControl:=PageControl1;
CTabSheet.caption:='Tab';
WB:=TWebBrowser.Create(self);
(WB as Twincontrol).parent:=CTabSheet ;
end;
还是不行,编译是显示错误,“Cannot assign to a read-only property"
如何解决,那位大侠指点一下。
回复
lyboy99 2001-05-02
(WB as TWinControl).parent :=CTabSheet ; 好象也不行呀
回复
Kingron 2001-05-02
你的这个问题我以前回答过!而且实现了动态创建和释放,就像藤讯的那个破浏览器一模一样!可惜我早不到了那个贴子了。是那个兄弟提出的那个问题,给出一个连接吧。
procedure TForm1.Button1Click(Sender: TObject);
begin
CTabSheet:=TTabSheet.Create(self);
CTabSheet.Parent:=self;
CTabSheet.PageControl:=PageControl1;
CTabSheet.caption:='Tab';
WB:=TWebBrowser.Create(self);
(WB as Twincontrol).parent:=CTabSheet ;
end;
这样应该没有问题了。
回复
windindance 2001-05-02
(WB as TWinControl).parent :=CTabSheet ;
回复
musicwind 2001-05-02
修正:
pcMain => PageControl1
回复
musicwind 2001-05-02
var
Sheet: TTabSheet;
WebFrame: TMyFrame;
begin
Sheet := TTabSheet.Create(PageControl1);
Sheet.PageControl := pcMain;
Sheet.TabVisible := true;
Sheet.Caption := 'Blank ';

Sheet.Parent := pcMain;
Sheet.Show;

WebFrame := TMyFrame.Create(Sheet);
WebFrame.Parent := Sheet;
WebFrame.Align := alClient;
WebFrame.Show;


<...>
回复
musicwind 2001-05-02
我以前做过一个多页面的浏览器,我的思路:
创建一个 TMyFrame = Class( TFrame ) , 在 该 Frame 上 放置一个 TWebBrowser,
然后动态创建 你的 TMyFrame;
这样没有问题的。
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4895

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2001-05-02 11:23
社区公告
暂无公告