0

这是此问题的屏幕截图。我用了

SendMessage(find, CB_SETHORIZONTALEXTENT, (WPARAM)200, 0);

为下拉组合框创建水平滚动。但它在底部给出了一个空行。请问如何解决这个问题。

在此处输入图像描述

4

1 回答 1

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;
于 2015-01-12T09:00:12.690 回答