Моя цель — иметь возможность программно контролировать ширину и высоту комбинированного списка, когда он закрыт (раскрывающийся список не отображается). У меня есть различные другие элементы управления, такие как кнопки, и я хочу, чтобы все элементы управления отображались в диалоге одинакового размера (скажем, 100 x 40). Я пробовал звонить my_cb_device.SetItemHeight(-1,40)
но это, кажется, не имеет никакого эффекта. Стиль: CBS_DROPDOWNLIST. Кто-нибудь может привести простой пример изменения этого? Нужно ли устанавливать / не устанавливать CBS_NOINTEGRALHEIGHT? Я пробовал каждую комбинацию, которую только могу придумать, кажется, ничто не влияет на рост. Как ни странно, ширина не является нежелательной. Некоторый код (примечание: BTN_HT
это 40):
m_cb_device.Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP |
CBS_DROPDOWNLIST | WS_VSCROLL | CBS_NOINTEGRALHEIGHT,
dummyRect, this, ID_CB_DEVICE );
populate_device_dropdown();
m_cb_device.SetItemHeight( -1, BTN_HT );
m_cb_device.SetCurSel( 0 );
m_cb_device.SetMaxVisibleLines( 32 );
Задача ещё не решена.
Других решений пока нет …