unit uMain;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzTabs, Menus; type
TFrmMain = class(TForm)
RzPageControl1: TRzPageControl;
MainMenu1: TMainMenu;
N1: TMenuItem;
N11: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
TabSheet1: TRzTabSheet;
procedure N11Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N31Click(Sender: TObject);
procedure RzPageControl1Close(Sender: TObject; var AllowClose: Boolean);
private
{ Private declarations }
public
procedure ShowDockForm(FormClass: TFormClass; dockCtrl: TRzPageControl ); end; var
FrmMain: TFrmMain; implementation uses
Unit1; {$R *.dfm}
{ TForm12 } procedure TFrmMain.N11Click(Sender: TObject);
begin
ShowDockForm(TForm1,RzPageControl1);
end; //procedure TFrmMain.N21Click(Sender: TObject);
//begin
// ShowDockForm(TForm2,RzPageControl1);
//end;
//
//procedure TFrmMain.N31Click(Sender: TObject);
//begin
// ShowDockForm(TForm3,RzPageControl1);
//end; procedure TFrmMain.RzPageControl1Close(Sender: TObject;
var AllowClose: Boolean);
begin
AllowClose := RzPageControl1.ActivePageIndex >;
end; procedure TFrmMain.ShowDockForm(FormClass: TFormClass; dockCtrl: TRzPageControl);
procedure ShowCaption(ParentCtrl: TWinControl; ACaption: string);
begin
if ParentCtrl is TRzTabSheet then
TRzTabSheet(ParentCtrl).Caption := ACaption;
end; var
i: Integer;
TabCtrl: TRzTabSheet;
Form: TForm;
begin
Screen.Cursor := crHourGlass;
try
for i := to Screen.CustomFormCount - do
if Screen.CustomForms[i] is FormClass then
begin
if (not(Screen.CustomForms[i]).Visible) then
(Screen.CustomForms[i]).Visible := True;
(Screen.CustomForms[i]).BringToFront;
(Screen.CustomForms[i]).SetFocus;
TabCtrl := TRzTabSheet(Screen.CustomForms[i].Parent);
ShowCaption(TabCtrl, Screen.CustomForms[i].Caption);
TRzPageControl(dockCtrl).ActivePageIndex := TabCtrl.PageIndex;
exit;
end; TabCtrl := TRzTabSheet.Create(dockCtrl); // dockCtrl
TabCtrl.PageControl := TRzPageControl(dockCtrl);
TRzPageControl(dockCtrl).ActivePageIndex := TabCtrl.PageIndex; Form := FormClass.Create(TabCtrl);
with Form do
try
ManualDock(TabCtrl);
ShowCaption(TabCtrl, Caption); Show;
Form.WindowState := wsMaximized;
Form.Align := alClient;
except
Free;
end; finally
Screen.Cursor := crDefault;
end;
end; end.

http://blog.csdn.net/diligentcatrich/article/details/8281965

最新文章

  1. Android 强烈推荐:程序员接私活那点事
  2. 为什么这些java接口没有抽象方法?浅谈Java标记接口
  3. Android 屏幕适配(二)增强版百分比布局库(percent-support-lib)
  4. Memcached笔记——(四)应对高并发攻击【转】
  5. linux 系统下配置安装 java jdk 图文流程
  6. C# 使用NPOI 实现Excel的简单导入导出
  7. UE4 保存为bitmap
  8. JVM学习--(四)垃圾回收算法
  9. Timeline高级扩展
  10. centos7设置httpd
  11. Android 右上角菜单栏
  12. [docker]通过阿里云源安装docker && flannel不通问题解决(try this guy out)
  13. windows7下的一个好玩的,你绝对不知道
  14. Ajax 響應
  15. dva 知识点
  16. 函数的嵌套+nonlocal和global关键字(重点)
  17. 用python解析pdf中的文本与表格【pdfplumber的安装与使用】
  18. 进行web开发时应该考虑的架构性因素
  19. 使用FindBugs-IDEA插件找到代码中潜在的问题
  20. 西门子(SIEMENS)软件安装时需要重启的解决方法,regedit restart

热门文章

  1. leetcode_question_62 Unique Paths
  2. Oracle执行计划——处理一种并行hint不生效的情况
  3. Service初步了解
  4. leetcode先刷_Search in Rotated Sorted Array II
  5. Opencv2系列学习笔记2(图像的其它操作)
  6. Two-phase Termination
  7. CodeForces 189A 166E 【DP ·水】
  8. python模块 mysql-python安装(在ubuntu系统下)
  9. 同步机制Lock初学(转)
  10. WeCenter 社交化问答社区程序 | WeCenter 是一款知识型的社交化问答社区程序,专注于社区内容的整理、归类、检索和再发行