我有一个将 TabPosition 设置为“tpLeft”的 PageControl。您会注意到,当您设置该属性时,选项卡的标题也变为垂直,但我希望这些标题以正常的水平方式显示,尝试更改 TabHeight,但它只会变宽,并且测试仍然显示为垂直。
我该如何解决。
使用德尔福 XE5
更新:此代码有效(感谢'Ken White'):
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
I: Integer;
PageControl: TPageControl;
TextFormat: TTextFormat;
Text: string;
TextRect: TRect;
begin
PageControl := Control as TPageControl;
Text := PageControl.Pages[TabIndex].Caption;
for I := Length(Text) - 1 downto 1 do
begin
Text := Copy(Text, 1, I) + Copy(Text, I+1, MaxInt);
end;
TextRect := Rect;
TextRect.Left := TextRect.Left + 5;
TextRect.Top := TextRect.Top + 3;
TextFormat := [tfCenter];
PageControl.Canvas.TextRect(
TextRect,
Text,
TextFormat
);
end;
但这是做到这一点的“正确方法”吗,还有其他更好的方法吗?