Delphi中TRzPageControl实现多窗口的融合窗口详细方法
请求前辈帮忙详细讲解如何把现有的系统(只能单窗口操作,调用方式为showmodal)改为show后会只能看到最前面的窗口.把子窗口的FormStyle属性改为mdichildform后无法运行(只能是fsNormal).
在网上看到说TRzPageControl可以实现多窗口的融合窗口,不知详细的方法是如何操作的?
由于本人只能发100分的贴子,要是谁能帮我实现了我结贴时再加80分(哈哈,再多就没有了,因为我只有180分)!
[解决办法]
这种事怎么还扎堆啊,昨天刚有个帖子
http://topic.csdn.net/u/20111031/22/68306454-2046-4620-9234-b846779e56c4.html?80071
那个Lz貌似研究的比较多的说
[解决办法]
在那上面放窗体就别用mdi,用普通窗体,设置其parent,就用普通的show即可
[解决办法]
提供一个过程,供参考:
procedure PageAddForm(aPage:TRZpageControl;aForm:TForm;TaFormClass:TClass);
begin
application.CreateForm(TComponent(TaFormClass),aForm);
aForm.MaualDock(aPage)); //融合至pageControl,
aForm.Visible:=true; //这个比用 show效果更好
aPage.ActivePageindex:=aPage.PageCount-1;
end;
注意:在调用之前,先检查一下aPage上是否已融合的当前要融合的表单,
如果已融合,则切换到对应的Tabsheet,否则调用。
融合之后,生成的Tabsheet.caption为表单的caption
因此通过
for i:=0 to aPage.PageCount-1 进行遍历查找即可。
......
当然,这个检查过程也可以加在PageAddForm中去,加个参数就行了。
仅供参考。
[解决办法]
不知道这是不是楼主想要的啊:
http://blog.csdn.net/sdudubing/article/details/6790374
[解决办法]
因为你是作为主表单的 局部过程,所以实现部分要加上主表单的类名
procedure Tfm_MainForm.PageAddForm(aPage:TRZpageControl;aForm:TForm;TaFormClass:TClass);
begin
......
end;
[解决办法]
再浪费一下CSDN的资源,刚做了简单的测试给你。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, RzTabs;
type
TForm1 = class(TForm)
page1: TRzPageControl;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure PageAddForm(mform:TForm;TmFormClass:TClass);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
{ TForm1 }
procedure TForm1.PageAddForm(mform: TForm; TmFormClass: TClass);
begin
application.CreateForm(TcomponentClass(TmFormClass),mForm);
// mForm.show;
mForm.ManualDock(page1);
mForm.Visible :=true; //这种方法的效果比用 show的效果要好一些
page1.ActivePageIndex :=page1.PageCount-1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
pageAddForm(Form2,TForm2);
end;
end.
============================
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
end.