这是此问题的屏幕截图。我用了
SendMessage(find, CB_SETHORIZONTALEXTENT, (WPARAM)200, 0);
为下拉组合框创建水平滚动。但它在底部给出了一个空行。请问如何解决这个问题。
我知道这个问题被问到已经有 2 年了,但是如果其他人遇到这个问题(就像我一样),我就是这样解决的:
末尾的空格是由于对属性的计算错误造成的,该DropDownHeight
属性的默认值取决于ItemHeight
(取决于Font
)和MaxDropDownItems
.
因此,如果您手动添加了水平滚动条(就像我一样,通过添加 WS_HSCROLL 样式),您需要重新计算DropDownHeight
如下:
DropDownHeight = SystemInformation.HorizontalScrollBarHeight
+ 2 + ItemHeight * MaxDropDownItems;
边界在哪里2
。
编辑
考虑系统的边界以获得更广泛的适用性......
DropDownHeight = ItemHeight * MaxDropDownItems
+ SystemInformation.HorizontalScrollBarHeight
+ 2 * SystemInformation.BorderSize.Height;