Intraweb中:如何打开一个新窗体时动态创建控件?(30分)

  • 主题发起人 主题发起人 sunsong
  • 开始时间 开始时间
S

sunsong

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TformMain.IWAppFormCreate(Sender: TObject);
var
aa : TIWButton;
begin
aa := TIWButton.Create(self);
with aa do
begin
top := 100;
left := 100;
Width := 200;
Height := 200;
Caption := 'New Button';
Visible := True;
end;
end;
还是不行
 
你用的IW哪个版本?
我这里5.053版本,可是出来一个四四方方的大按钮啊!

下边是代码,你对照一下看看是不是少引用了什么单元。
unit IWUnit1;
{PUBDIST}

interface

uses
IWAppForm, IWApplication, IWTypes, Classes, Controls, IWControl,
IWCompButton;

type
TformMain = class(TIWAppForm)
procedure IWAppFormCreate(Sender: TObject);
public
end;

implementation
{$R *.dfm}

uses
ServerController;

procedure TformMain.IWAppFormCreate(Sender: TObject);
var
aa : TIWButton;
begin
aa := TIWButton.Create(Self);
with aa do
begin
top := 100;
left := 100;
Width := 200;
Height := 200;
Caption := 'New Button';
Visible := True;
end;
end;
end.
 
如果有用模版, 先去掉
 
完全可以,估计你要动态关联一个CLICK事件吧。

 
我用的6.0.10beta

unit UInclosure;

interface

uses
Classes, SysUtils, IWAppForm, IWApplication, IWTypes, Controls,
IWVCLBaseControl, IWBaseControl, IWControl, IWCompLabel, IWHTMLControls,
IWCompButton;

type
TfrmInclosure = class(TIWAppForm)
IWLabel1: TIWLabel;
IWURL1: TIWURL;
IWButton1: TIWButton;
procedure IWAppFormCreate(Sender: TObject);
private
public
end;

implementation

uses ServerController, IWBaseForm;

{$R *.dfm}


{ TfrmInclosure }
procedure TfrmInclosure.IWAppFormCreate(Sender: TObject);
var
aa : TIWButton;
begin
aa := TIWButton.Create(self);
with aa do
begin
top := 100;
left := 100;
Width := 200;
Height := 200;
Caption := 'New Button';
Visible := True;
end;
end;

end.
 
有什么问题?
 
无法将控件显示出来
 
加上aa.parent := frmInclosure;
 
to xiao78:
这是不行的.Parent是TWincontrol,不匹配的
这个问题,如果没有更好的答案,目前我只能在GRID中显示了,将就用吧
 
再试试aa.parent := self;
你的代码在5.0上是可以的, 我没有6.0(是装的有问题, 就卸了),
没有办法替你试, 但是aa.parent := self;是可以的(5.0).
 
xiao78,
可以了,真恶心啊!!!用form名不行,只有用self才可以.
有兴趣再看看我的其他问题
 
后退
顶部