Combobox中的滚动和滚动

时间:2012-05-15 09:01:09

标签: c++ winapi combobox scrollbar win32gui

我已成功创建了一个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'?

1 个答案:

答案 0 :(得分:0)

组合框的高度似乎太小,无法容纳项目数。根据指定的高度,下拉菜单中将显示许多项目。如果项目无法适应此高度,则会显示垂直滚动条。