form1 上放了pagecontrol 有1个标签页 tabsheet1
在 他的 onshow 事件中有代码如下:procedure TForm1.TabSheet1Show(Sender: TObject);
var tmp: tbutton;
begin
tmp := tbutton.Create(self);
tmp.Parent := TabSheet1;
tmp.width := 20;
tmp.height := 20;
end;可是 tmp 在 form 上就是 不出现。但是 将上述 过程 放在 一个 button 的 click 事件里
生成的 tmp 就能显示出来。求解 怎么能 在TabSheet1Show 里 就能把 tmp 显示出来。form1.update 不行。tabsheet1.Update; 也不行。求帮忙!
在 他的 onshow 事件中有代码如下:procedure TForm1.TabSheet1Show(Sender: TObject);
var tmp: tbutton;
begin
tmp := tbutton.Create(self);
tmp.Parent := TabSheet1;
tmp.width := 20;
tmp.height := 20;
end;可是 tmp 在 form 上就是 不出现。但是 将上述 过程 放在 一个 button 的 click 事件里
生成的 tmp 就能显示出来。求解 怎么能 在TabSheet1Show 里 就能把 tmp 显示出来。form1.update 不行。tabsheet1.Update; 也不行。求帮忙!
不知道你是想要在Form上显示呢还是在TabSheet上显示呢
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Button1: TButton;
procedure TabSheet1Show(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations } public
{ Public declarations } end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.TabSheet1Show(Sender: TObject);
var tmp : tbutton;
begin
tmp := tbutton.Create(self);
tmp.Parent := TabSheet1;
tmp.width := 20;
tmp.height := 20;
tabsheet1.Update;
end;procedure TForm1.Button1Click(Sender: TObject);
var tmp : tbutton;
begin
tmp := tbutton.Create(self);
tmp.Parent := TabSheet1;
end;end.
晕 我的怎么显示不出来呢
我的 是 +了 updata 的D7
你放一个的话就写在Oncreat事件里把
tmp : TButton;
begin
tmp := TButton.Create(Self);
tmp.SetBounds(0,0,25,25);
tmp.Parent := TabSheet1;
2、尝试放在FORMSHOW事件中
3、始终有必要,可以动态切换一下页面