Вопрос № 40400: Уважаемые эксперты, позвольте задать Вам вопрос. Как изменять высоту ComboBox-контрола? Я хочу сделать ListView с выпадающими списками в подпунктах. Когда я получаю размеры подпункта и передаю их функции CreateWindowEx для создания ComboBox-контрола,...
Вопрос № 40.400
Уважаемые эксперты, позвольте задать Вам вопрос. Как изменять высоту ComboBox-контрола? Я хочу сделать ListView с выпадающими списками в подпунктах. Когда я получаю размеры подпункта и передаю их функции CreateWindowEx для создания ComboBox-контрола, его позиция и ширина устанавливаются правильно (как у подпункта ListView), а вот высота не вписывается. Причем какое число не передавай (хоть ноль) - высота всегда одна и та же. :-( Подозреваю, что здесь все завязано на размер шрифта, но не нашел способа получить
метрики шрифта из ListView. Подскажите, как подогнать высоту ComboBox-а под высоту строки ListView. Спасибо.
Отправлен: 15.04.2006, 23:50
Вопрос задал: Domian (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: estiGi
Здравствуйте, Domian!
А какая высота имеется в виду? Высота видимой строчки или высота выпадающего списка?
Если выпадающего списка, так тут просто устанавливается высота контрола.
А если видимой строки, т.е. самого контрола, то это действительно шрифт. Для изменения шрифта кажется придется делать его ownerdraw. А получить шрифт ListView... это ж твой контрол? Так и задавай им одинаковый шрифт.
Если так не интересно, то нужно получить шрифт списка. На МФС это делается элементарно - GetFont. А вот под апи получить шрифт сложнее, его нужно вытягивать по кусочкам. Это смотреть в сторону GetTextFace, GetTextMetrics и тому подобных GDI функций для шрифтов
Ответ отправил: estiGi (статус: Студент)
Ответ отправлен: 16.04.2006, 01:05