用的是rz的控件 关闭后怎么打开unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzTabs, ExtCtrls, RzPanel, RzButton, RzSplit, StdCtrls;type
TForm1 = class(TForm)
RzSplitter1: TRzSplitter;
RzPanel1: TRzPanel;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
TabSheet3: TRzTabSheet;
TabSheet4: TRzTabSheet;
TabSheet5: TRzTabSheet;
TabSheet6: TRzTabSheet;
RzButton1: TRzButton;
RzButton2: TRzButton;
RzButton3: TRzButton;
RzButton4: TRzButton;
RzButton5: TRzButton;
RzButton6: TRzButton;
TabSheet7: TRzTabSheet;
Label1: TLabel;
procedure RzButton6Click(Sender: TObject);
procedure RzButton5Click(Sender: TObject);
procedure RzButton4Click(Sender: TObject);
procedure RzButton3Click(Sender: TObject);
procedure RzButton2Click(Sender: TObject);
procedure RzButton1Click(Sender: TObject);
procedure RzPageControl1Close(Sender: TObject;
var AllowClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.RzButton6Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=0;
//TabSheet1.TabVisible:=true;
end;procedure TForm1.RzButton5Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=1;
TabSheet2.TabVisible:=true;
end;procedure TForm1.RzButton4Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=2;
TabSheet3.TabVisible:=true;
end;procedure TForm1.RzButton3Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=3;
TabSheet4.TabVisible:=true;
end;procedure TForm1.RzButton2Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=4;
TabSheet5.TabVisible:=true;
end;procedure TForm1.RzButton1Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=5;
TabSheet6.TabVisible:=true;
//TabSheet6.end;procedure TForm1.RzPageControl1Close(Sender: TObject;
var AllowClose: Boolean);
begin
AllowClose:=True;end;end.
用的是rzpagecontrol的showclosebuttononactivetab属性怎么么实现关闭打开关闭在标签的×符号关闭打开在按钮打开 求大神支招!!!!!
之前用的是隐藏但是有一些小问题
解决方案 »
- intraweb 中Iwdbgrid iwdbedit使用
- 请教高手:在cxGrid中的设置了summary后,怎么在下面没有显示?解决后立刻给分!
- 用delphi语句如何设置oracle的用户scott为dba权限(角色)?
- 怎样使多行文本控件具备列选择的功能?
- 兄弟我分数最后10分了,我想问该怎么把rave编译进activexform的ocx中呀或exe中?
- 在保存对话框中怎样使文件扩展名随类型变化而改变?
- RichEdit怎样实现多次Undo
- 为什么没人帮我看看呢????
- 如何读取资源文件里的图标
- 一个关于SQL Server2000+Delphi6.0 的重要问题,一般的开发人员是遇不到的。
- Delphi 10.2真机调试问题???
- 请教使用ImageEN缩放图片的方法
procedure TForm1.RzPageControl1Close(Sender: TObject;
var AllowClose: Boolean);
begin
RzPageControl1.ActivePage.TabVisible:=false
//如有必要可与指定当前页
end;
1、创建新tab页时的部分代码class function TSMUIDrv.LoadFuncForm(parent: TRzPageControl; clsName: string): TAWin;
var
i,j: integer;
tmp: TComponent;
sht: TRzTabSheet;
begin
//form exists?
for i:=0 to parent.PageCount-1 do
begin
for j:=0 to parent.Pages[i].ControlCount-1 do
begin
if parent.Pages[i].Controls[j].ClassName=clsName then
begin
parent.ActivePageIndex := i;
result := TAWin(parent.Pages[i].Controls[j]);
exit;
end;
end;
end;
//to load new form
sht := TRzTabSheet.Create(parent);
sht.PageControl := parent;
tmp := LoadComponent(clsName,sht);
if tmp<>nil then
begin
result := TAWin(tmp);
result.Parent := sht;
TAWin(tmp).BorderStyle := bsNone;
sht.Caption := TAWin(tmp).Caption;
result.Align := alClient;
sht.Tag := TAWin(tmp).Tag;
result.Show;
parent.ActivePageIndex := parent.PageCount-1;
end
else begin
sht.Free;
result := nil;
end;
end;2、关闭窗口
procedure TFmMain.OnCloseActivePage(sender: TObject; var allowClose: boolean);
var
i: integer;
begin
for i:=0 to pcCtl.ActivePage.ControlCount-1 do
begin
if (pcCtl.ActivePage.Controls[i] is TAWin) then
begin
if TAWin(pcCtl.ActivePage.Controls[i]).Dirty and
(TSMSystem.MessageBox('数据未保存,是否关闭?',MB_ICONQUESTION or MB_YESNO)=IDNO) then
begin
allowClose := false;
exit;
end;
TAWin(pcCtl.ActivePage.Controls[i]).Free;
allowClose := true;
end;
end;
end;
3、运行效果