2

我已经成功创建了一个组合框,HSROLL如下所示:

HWND find = CreateWindowEx(0, WC_COMBOBOX, _T(""), CBS_DROPDOWN | WS_VISIBLE | WS_CHILD |     
                           CBS_AUTOHSCROLL | WS_HSCROLL | WS_VSCROLL,0, 1, 100 30,
                           hwndToolbar, (HMENU)0, ghinst, NULL);

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

但它也给出了VSCROLL,即使只有 2 个项目。这是非常丑陋的。如果我放弃WS_VSCROLL,它可以解决问题。

另一方面,我也使用了:

SendMessage(find, CB_SETMINVISIBLE, (WPARAM)20, 0);

仅显示 20 个项目,其他项目由 显示VSCROLL。只有超过 20 个项目才会出现 VScroll 栏。所以我不能掉线WS_VSCROLL

当项目较少时,您是否知道如何在没有 VSCROLL 条的情况下使用“CB_SETHORIZONTALEXTENT”?

4

1 回答 1

0

组合框的高度似乎太小,无法容纳项目的数量。与指定的高度一样,下拉菜单中将显示尽可能多的项目。如果项目无法适应此高度,则会出现垂直滚动条。

于 2019-07-05T11:26:37.480 回答