次のようにコンボボックスを作成しました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
ます。VScroll バーは、20 を超えるアイテムがある場合にのみ表示されます。だから私はドロップできませんWS_VSCROLL
。
アイテムが少ないときに VSCROLL バーなしで「CB_SETHORIZONTALEXTENT」を使用する方法について何か考えはありますか?