mainmenu在父窗口,如何实现点击菜单选择子窗口里各PageControl页.
解决方案 »
- 三层问题,delphi7 + oracle +socket
- 我设计组件属性中有一个list是动态创建一个自定义class(对象)的! 请问如何做? 高分相送
- Appbar制作方法最高提供源码,可在开贴送分(在线等)
- 如何使dblookupcombobox直接显示数据集中的第一条记录?在线等待
- 有没有人知道怎样让MDI的子窗口只打开一个!
- indy控件编程:用idpop3接收邮件程序怎么写啊!急急!!!在线等待!
- win2000上安装sqlserver6.5,需要什么补丁?在线等待!!!!!!!!!!!!
- 如何直接写DBF文件?答对必重谢。(不能用BDE、第三方控件或ADO,直接文件操作)
- HOOK程序中关于数据的互传的问题
- 关于object pascal的class of class的讨论,高手请进:
- 求高手帮助一下,怎么判断是否读到文件尾部
- 如何将字符串中的内容写回到dialog控件选定的文件中去呢?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
Select1: TMenuItem;
procedure Select1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Select1Click(Sender: TObject);
begin
Form2.PageControl1.ActivePageIndex := 1;
Form2.ShowModal;
end;end.
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;type
TForm2 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
begin
Close;
end;end.
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;Form2.PageControl1.ActivePageIndex := 页的索引(0,1,2);对应各页
=================================================================
这是在我的计算机上试好了的代码,绝对没有错误
============================================================================
我的代码完全没问题!可能你的编译器有毛病了,不信,要楼下哪位把我上面代码贴着试一试
form2.PageControl1.ActivePageIndex :=1;
form2.ShowModal;
form2.Free;
var newform:Tf_shgl;
begin
if findForm('管理')=False then
begin
//若窗体不存在,则创建窗体
newform:= Tf_shgl.Create(application);
newform.Caption:='管理';
f_shgl.RzPageControl1.ActivePageIndex:= 0;
end;
end;
//var newform: Tf_shgl;
begin
if findForm('管理')=False then
begin
//若窗体不存在,则创建窗体
f_shgl:= Tf_shgl.Create(application);
f_shgl.Caption:='管理';
//f_shgl.RzPageControl1.ActivePageIndex:= 0;
end;
f_shgl.RzPageControl1.ActivePageIndex:= 0;
end;那之前的问题是不是newform变量不能传递到子窗体的原因导致出错?
if not Assigned(Form2) then
begin
Form2 := TForm2.Create(application);
try
Form2.PageControl1.ActivePageIndex := 1;
Form2.ShowModal;
finally
Form2.Free;
Form2 := nil;
end;
end;
end;
=============================================================================
不是这个原因,而是当Caption='窗体'的窗口不存在时,代码是正确的,而已经存在后,f_shgl.RzPageControl1.ActivePageIndex:= 0;不能执行导致的,你后来把这句提到if语句外面,就正确了。
呵呵.........