delphi - TTabControl : tabs displayed right to left

标签 delphi hebrew

我在希伯来语环境中编程,因此我希望 TTabControl 顶部的选项卡从右到左显示。 BiDiMode 属性不会影响选项卡,而是影响控件中包含的文本。

我尝试过以下代码

SetWindowLong (tc.Handle, GWL_EXSTYLE,
               GetWindowLong(tc.Handle, GWL_EXSTYLE)  or
               WS_EX_LAYOUTRTL or WS_EX_NOINHERITLAYOUT);

它可以正确显示选项卡,但会阻止 ttabcontrol 中包含的控件出现,因此它的使用受到一定限制。

有什么想法吗?顺便说一句,我正在使用 Delphi 7。

TIA, 诺姆

最佳答案

这不是我的代码。我发现了一些东西,但它似乎有效。

procedure TForm1.FormCreate(Sender: TObject);
const
  LVM_FIRST = $1000;
  LVM_GETHEADER = LVM_FIRST + 31;
var
  header: thandle;
begin
  header:= SendMessage (TabControl1.Handle, LVM_GETHEADER, 0, 0);
  SetWindowLong (header, GWL_EXSTYLE,
                 GetWindowLong (header, GWL_EXSTYLE)  or
                 WS_EX_LAYOUTRTL or WS_EX_NOINHERITLAYOUT);

  SetWindowLong (TabControl1.Handle, GWL_EXSTYLE,
                 GetWindowLong (lv.Handle, GWL_EXSTYLE)  or
                 WS_EX_LAYOUTRTL or WS_EX_NOINHERITLAYOUT);
  lv.invalidate;  
end;

关于delphi - TTabControl : tabs displayed right to left,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1888239/

相关文章:

delphi - 在实现部分为单元添加 use 子句有哪些优点?

delphi - 为什么我的代码找不到任何注册表项?

delphi - 如何使用单独的 Label.Caption 更新来操纵某些 Control.OnMouseEnter 事件

JavaScript:作为关联数组键的希伯来字母不起作用

delphi - 使用 TZCompressionStream 截断数据

delphi - Office 2007风格的UI功能区: DevExpress or TMS?

ios - 为 RTL 自定义 FSCalendar

html - 如何正确处理从右到左的文本输入字段?

perl - 我可以使用希伯来文和英文文本在 Perl 中生成 PDF 文件吗?

wpf - 使用 WPF(C#) 日历控件,希伯来语和格鲁吉亚日期转换