gpt4 book ai didi

delphi - 从右到左 TListView

转载 作者:行者123 更新时间:2023-12-03 15:49:17 25 4
gpt4 key购买 nike

我正在对 tlistview 进行编程,以便它从右到左显示其列(以便正确显示希伯来语文本)。我在表单的创​​建方法中使用以下代码,其中“lv”是 ListView

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

lv.invalidate;

虽然此代码使 ListView 中的行正确显示,但标题行从左到右显示!列不匹配,并且每列的标题都是错误的。

有人知道如何让标题行从右向左显示吗?

我使用的是 Delphi 7,但这不会有太大区别。

TIA,诺姆

最佳答案

以下是设置标题和行的完整代码:

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

SetWindowLong (lv.Handle, GWL_EXSTYLE,
GetWindowLong (lv.Handle, GWL_EXSTYLE) or
WS_EX_LAYOUTRTL or WS_EX_NOINHERITLAYOUT);
lv.invalidate; // get the list view to display right to left
end;

关于delphi - 从右到左 TListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1571051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com