0

我有一个将 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;

但这是做到这一点的“正确方法”吗,还有其他更好的方法吗?

4

0 回答 0