gpt4 book ai didi

delphi - 如何垂直居中TListBox项目?

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

所以我想将 TListBox (而不是 TListView)项目垂直居中。

我可以使用 TopIndex 属性,但我该如何完成整个事情。

如果项目较少,不出现滚动条,则不需要居中,只需选择默认项目即可。

类似这样的事情:

Vertically Centered TListBox

最佳答案

enter image description here

//IF YOU WANT TO SELECT THE CENTER ITEM 
procedure TForm2.Center;
var VisibleItems : Integer;
begin
VisibleItems := ListBox1.ClientHeight div ListBox1.ItemHeight;
ListBox1.TopIndex := Trunc((ListBox1.Items.Count / 2) - (VisibleItems / 2));
if ListBox1.Items.Count > VisibleItems then
ListBox1.Selected[ListBox1.TopIndex + (VisibleItems div 2)] := True
else
ListBox1.Selected[ListBox1.Items.Count div 2] := True;
end;



//IF YOU WANT TO CENTER A ITEM
procedure TForm2.Center(Index : Integer);
var VisibleItems : Integer;
begin
VisibleItems := ListBox1.ClientHeight div ListBox1.ItemHeight;
if Index > VisibleItems then
ListBox1.TopIndex := Index - (VisibleItems div 2);
end;

关于delphi - 如何垂直居中TListBox项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43892858/

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