Mar*_*k W 3 delphi tabcontrol delphi-2009 orientation tpagecontrol
我是Delphi的新手(再次 - 我在1994年使用Delphi).我现在有Delphi 2009专业版.
来自Java,我发现对象继承非常模糊.
我的用户想要带有左侧标签的标签页.但是,TPageControl不允许更改选项卡标签的方向或方向.他们希望标签上的文字从上到下阅读,字母旋转,使它们处于"正常"方向.使用左侧的标签,标签从下往上读取,字母旋转90度.在左侧,有一种倾向于将头部向左倾斜以读取标签.我找到了标准TPageControl VCL的几个增强功能,它们为悬停和活动添加图像,文本和颜色更改,但没有任何内容允许在选项卡上操作字体方向或方向.
页面控制选项卡应如下所示:
P
a
g
e
1
P
a
g
e
2
P
a
g
e
3
等等...
1.)设置TPageControl属性:
TabPosition := tpLeft;
OwnerDraw := True;
TabWidth := 180; //set to any adequate value because
// TPageControl doesn't have a measure event handler
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
3.)编译,开始和享受!