,用PageControl组件实现类似傲游浏览器中新增,关闭页面的功能
请教高手,用PageControl组件实现类似傲游浏览器中新增,关闭页面的功能
我就是想实现像傲游那样,双击空白处便可以新增一个空白页,双击已经存在的SHEET就是关闭这个SHEET,请问高手该用什么事件,具体该怎么写
------解决方案--------------------
我就是想实现像傲游那样,双击空白处便可以新增一个空白页,双击已经存在的SHEET就是关闭这个SHEET,请问高手该用什么事件,具体该怎么写
------解决方案--------------------
- Delphi(Pascal) code
//**************************************************************** //打开tabForm过程参数1.ClassType:TComponentClass组件类 2.OpenFrom:TForm窗体 //**************************************************************** procedure TForm1.Open_Tab_Form(ClassType:TComponentClass;OpenFrom:TForm); var Thetabsheet:ttabsheet; ThePanel:Tpanel; begin //动态创建tabsheet和panel TheTabSheet := TTabSheet.Create(Self); TheTabSheet.PageControl := PageControl1; ThePanel:=Tpanel.Create(self); ThePanel.Parent:= TheTabSheet; ThePanel.Align:=alClient; //ThePanel.DockSite:=true; // 将ThePanel.DockSite:=true则出现关闭条 //载入一个窗体到TAbsheet application.CreateForm(ClassType,OpenFrom); OpenFrom.Dock(ThePanel,BoundsRect); OpenFrom.show; TheTabSheet.Caption:=OpenFrom.Caption; TheTabSheet.Show; end; //**************************************************************** //双击tab关闭 //**************************************************************** procedure TForm1.PageControl1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var Index: Integer; begin if (Button = mbLeft) and (ssDouble in Shift) then begin Index := PageControl1.IndexOfTabAt(X, Y); if Index >= 0 then PageControl1.Pages[Index].Free; end; end;