Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Отрисовка ItemDraw CComboBox |
Автор: heavix 10.2.2012, 13:58 | ||||
Доброго времени суток форумчане! Создаю кастомный комбобокс в котором реализуется возможность задизабленых элементов... Создал свой класс, унаследовался от CComboBox... переопределил виртуальную метод DrawItem следующим образом:
Обьявляю объект в паренте, исспользую DDX_control - сабклашу от комбика из ресурсов... У меня в ресурсах несколько комбиков - все одного размера... у одного из них ownerdraw - fixed Так вот собственно вопрос: Никак не могу понять почему именно этот элемент(кастомный) выглядит больше и имеет больший отступ между текстом внутри элементов? Я пробовал ставить ownerdraw в variable, и обрабатывал MeasureItem, где явно задавал lpMeasureItemStruct->itemHeight размеру текста, но результат тот же( код такой:
пробовал делать меньше ректангл в котором текст выводится - просто текст обрезаю - но ширина айтема такая же( Подскажите пожалуйста как справится! Всем заранее спасибо! |
Автор: Estranged 15.2.2012, 00:06 |
Все правильно делаете. Только вот собственный combo имеет какой же шрифт, как и другие стандартные? Вдруг он больше по высоте |
Автор: heavix 21.2.2012, 11:49 | ||
Вот со шрифтом я тоже игрался... устанавливал его намного меньше, вот только высота контрола все равно не изменилась ((... пытался установить размер шрифта, потом изменить размер контрола - в результате в ширину размер контрола меняется, а вот высота остается такой же большой... Даже не знаю что еще можно сделать... |
Автор: Estranged 2.3.2012, 19:33 |
В коде не видно, как вы пользуетесь собственным шрифтом, а используете шрифт самого комбо. Надеюсь, Вы дописывали MeasureItem и DrawItem, чтобы использовать свой собственный шрифт. |