delphi listbox 自适应高度 根据读取数据库的列而改变LISTBOX的高度,请各位高手帮帮忙,这应怎么写啊

2025-05-13 11:29:47
推荐回答(4个)
回答(1):

所谓自适应,其实是由程序在后台计算所得,并非真的自适应。
如此,就需要编程人员,根据每一个过程进行计算,获取、设置展现方式。
具体到你的提问,其实蛮简单的。
动态生成这个控件,在生成前,通过获取数据库的列数,设置listbox的高度。

回答(2):

先估算一下,LISTBOX的显示每行字符(与字号的大小有关)需要的高度,再测一下它一行数据都没有的高度,也就是它的上下两边框所占高度,此称为固有高度.行数*行高+固有高度,这不就出来了,这个是没有具体规定的,这需要程序员的灵机一动.当然还有其它更好的办法,要靠自己去寻思.没有套路的.

回答(3):

你说的ListBox高度自适应,受到了限制很大。
因为ListBox中的Items,即数据库中的记录数,可能成千上万,所以,你的窗体可能被撑爆了。
建议你还是用滚动条。

回答(4):

int := length(读出数据)
LISTBOX.heigh = int{你想要的高度}