一个不是很完美的方法,RzPageControl的ShowCloseButton属性设置为True,然后在RzPageControl的OnClose事件里写代码procedure TForm1.RzPageControl1Close(Sender: TObject; var AllowClose: Boolean); begin if self.RzPageControl1.PageCount=1 then begin AllowClose:=False; Exit; end; AllowClose:=True; end;
不建議這樣做,可參考這樣:... procedure TMain_F.RzPageControl1DblClick(Sender: TObject); begin if RzPageControl1.ActivePage.Caption<>'Desktop' then RzPageControl1.CloseActiveTab; end; ...
在RZPageControl的MouseDown里X和Y就是你要的鼠标坐标
相对RZPageControl的坐标。
所以你还要把PagTab标签宽度也考虑进去。。
再计算图标大小
估计不是很精确
var AllowClose: Boolean);
begin
if self.RzPageControl1.PageCount=1 then
begin
AllowClose:=False;
Exit;
end;
AllowClose:=True;
end;
procedure TMain_F.RzPageControl1DblClick(Sender: TObject);
begin
if RzPageControl1.ActivePage.Caption<>'Desktop' then
RzPageControl1.CloseActiveTab;
end;
...
TO:kye_jufei现在就是这样做的,但老板说不够好,还是要加那个图标