delphi - 在TPageControl上,如何更改标签的方向?

  显示原文与译文双语对照的内容
136 2

我是 Delphi ( 再次- 我在 1994中使用了 Delphi 。)的新手。我现在有了 Delphi 2009版。

从Java中,我发现对象继承非常模糊。

我的用户想要带标签页的标签页。但是,TPageControl不允许更改标签标签的方向或者方向。他们希望选项卡上的单词以字母旋转的方式读取到底部,以便它们在"正常"方向上。标签左边的标签从底部读起,字母旋转 90度。左边有一个倾向于向左倾斜看看标签的倾向。我发现了对标准 TPageControl on的增强,为悬停和活动添加图像。文本和颜色更改,但不允许操作标签。

页面控件Tabls应该类似于:

P
a
g
e
1

P
a
g
e
2

P
a
g
e
3

等等...

时间:原作者:0个回答

111 3

1.) 设置TPageControl属性:

TabPosition := tpLeft;
OwnerDraw := True;
TabWidth := 180;//set to any adequate value because
//TPageControl doesn't have a measure event handler 

2.) 使用以下OnDrawTab代码:

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) + sLineBreak + 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;

3 。) 编译,启动和享受

原作者:
50 0

这是一个基于组件的编程平台,而且还有一些第三方VCL控件提供了一些非常灵活的选项,在渲染和themeing控件中提供一些非常灵活的选项。

我自己使用并将推荐的:

HTH和好运

原作者:
...