На днях пришлось добавить комбобокс в древнюю софтину с GUI на Win32 API. Комбобокс этот должен входить в состав диалога, описанного в ресурсах. Ок, мне оставалось только добавить код, наполняющий этот комбобокс, и обработчик выбора элемента.
Все бы хорошо, но выпадающий список не появлялся! При этом GetLastError() == 0 и SendMessage(..., CB_ADDSTRING, ...) != CB_ERR после предварительного SetLastError(ERROR_SUCCESS).
О-о-о... Мне стоило полтора десятка минут повозиться с этой ерундой, меняя стили, коды возврата на разные сообщения и т. д. и т. п., пытаясь заставить список выпасть, прежде чем я обнаружил, что значение высоты, указанное при декларации комбобокса в ресурсах определяет не только высоту непосредственно поля ввода, но и вместе с ним высоту выпадающего списка. Ох уж этот ужасный код, реализующий GUI на чистом Win32 API... :)
"Полтора десятка минут" - это мелочи :)
ОтветитьУдалитьПолезное замечание, спасибо!
да, приходилось и подольше повозиться, но всеравно не приятно :)
ОтветитьУдалитьВсегда пожалуйста :)