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

Delphi中多标签页面的实现的更多相关文章

  1. 禁止手机页面中A标签长按弹出路径框

    //禁止手机页面中A标签长按弹出路径框    window.onload=function(){        document.documentElement.style.webkitTouchCa ...

  2. 在php中,如何将一个页面中的标签,替换为用户想输出的内容

    前言:釜山行,暴露人性, ———————————————————————————————————————————————————————————————————————————— 今天说一个最简单的例 ...

  3. js 和 css 中 不能使用 jsp 页面中一些 标签 和 java 代码等,应注意

    js  和 css 中 不能使用 jsp  页面中一些 标签 和 java 代码等,应注意 如 ${ }  <%%>  等

  4. Struts2页面开发中常用标签使用说明

    1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type="text&quo ...

  5. 用JS改变页面中b标签的样式啊 样式的等

    用JS改变页面中b标签的样式啊 样式的等    ,实际上是在标签内加上样式 ,用媒体查询的话 ,不能生效 <!DOCTYPE html> <html lang="en&qu ...

  6. delphi中webbrowser的用法

    WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForw ...

  7. jsp2.0+中的标签文件,JSP Fragment技术

    刚进新公司不久,今天在看到项目中用到了.tag文件.刚开始我还以为这个是第三方类似freemarker的模板技术.问了下项目组的其他人员,原来这是jsp2.0以来就有的JSP Fragment技术.以 ...

  8. Html中<a>标签的样式的设置

    html中<a>标签的样式的设置.. ------------------------ <html> <head> <title>这是网页选项卡的名称& ...

  9. JSP中<img>标签引用本地图片

    问题描述: jsp页面中<img>标签如何读取本地文件夹中的图片. 问题起因: 由于上传图片至本地文件夹中,图片路径为: D:/upload/file/image/img.jpg 所以将这 ...

随机推荐

  1. POJ 1472 Coins (多重背包+滚动数组)

    Coins Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 25827 Accepted: 8741 Description Pe ...

  2. Spring (一) IOC ( Inversion Of Control )

    前序 现在小米手机很火就还拿小米手机来举例子,上一篇写的关于SSH框架搭建是从小米手机公司内个整个流程方面来考虑,如何提高效率生产效率,这篇博客主要从公司外部环境说明如何提高生产效率,那么怎么才能提高 ...

  3. English learning method ---学英语重中之重打通“任督二脉”

    漫漫十年艰辛路,英语学习之旅 曾经秉承“路漫漫其修远兮,吾将上下而求索”的信念,初一那年了解到原来(a b c d e f g) 不仅仅读作(啊,波,词,的,额,佛,哥),在英语的世界中它有另外的读法 ...

  4. 使用CAShapeLayer和UIBezierPath画一个自定义半圆弧button

    通常我们使用系统自带的UIButton时,一般都是Rect矩形形式的,或则美工给出一张半圆弧的按钮,如图为一张半圆加三角形的按钮,而此时,如果给按钮添加点击事件时,响应事件依然为矩形区域,不符合我们的 ...

  5. java--String方法

    String : 字符串类型 一.构造函数 String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. ...

  6. 【集训笔记】博弈论相关知识【HDOJ 1850【HDOJ2147

    以下资料来自:http://blog.csdn.net/Dinosoft/article/details/6795700 http://qianmacao.blog.163.com/blog/stat ...

  7. QML基础(六篇文章)

    http://www.cnblogs.com/hicjiajia/category/350988.html

  8. javascript 入门之简单换肤效果

    大家好,我是小强老师,这里简单入门 做一个换肤效果 效果如图所示: 这个案例思路分为两部分: 获取元素对象. var pic1 = document.getElementById('pic1'); v ...

  9. 基于Sql Server 2008的分布式数据库的实践(五)

    原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------------------------------------- ...

  10. docker 学习笔记21:docker连接网络的设置

    1.如果docker主机不需要通过代理连接外网 则docker的相关命令(如docker search)或docker容器与网络相关的操作都可以正常进行,不需要特殊设置. 2.当docker主机 是通 ...