| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > DrawItem - как использовать |
| Автор: oper54 24.6.2005, 14:55 |
| Хочу изменить стандартные контролы. Для создания контролов насколько я знаю - наследуют класс нужного контрола или CWnd, в этом классе используют DrawItem для изменения прорисовки контрола (например класс круглой кнопки). Если можно пример(с коментариями) создания контрола с использованием этой функции, или ссылку на документацию по теме создания контролов. |
| Автор: En_t_end 24.6.2005, 19:34 |
| oper54 Есть очень хороший ресурс по контролам, там по идее должны быть исходники... www.codeproject.com -> http://www.codeproject.com/script/articles/subcat.asp?id=3 Посмотри... там их много. |
| Автор: JoyEx 24.6.2005, 19:36 | ||
| MSDN Visual C++ MFC Samples CTRLTEST Sample: Implements Custom Controls -> Example: Owner Drawing (Menu and List Box) А принцип там простой: в DrawItem() получаете контекст (HDC) окна и сами в нем рисуете, а в MeasureItem() можно установить размеры.
|
| Автор: lioness 17.9.2008, 11:29 | ||||||
| А кто бы подсказал, почему я ВООБЩЕ не прихожу в DrawItem? Это мой контрол в диалоге:
Fixed для Owner Draw в свойствах поставила. Это в моем классе CListBoxAdvancedEx.h для модернизированного ListBox-a
И в процедуре
я не бываю сАААвсем |
| Автор: Earnest 18.9.2008, 08:52 |
| А связывание через DDX_Control есть? |
| Автор: lioness 18.9.2008, 09:25 | ||
Да. В диалоге есть:
и информация в этот ListBox заносится совершенно правильно. Мне нужно было только, чтобы некоторые строки стояли в красном цвете. Красный цвет в соответствующее поле заношу при m_myListbox.addLine. То есть, я бываю в процедуре класса CListBoxAdvancedEx.срр Я не посещаю DrawItem в классе CListBoxAdvancedEx. Ведь точно ни в какую таблицу этот event не заносится? Должно автоматически прерываться? Чего в супе не хватает...? |
| Автор: lioness 22.10.2008, 14:49 | ||
| Никто ничего не ответил, но так тайна и осталась покрытая мраком. Я взяла другой класс, который производный от
И в нем легко разного цвета сделать строчки и столбцы с текстом выстроились ровненько, независимо от длины самой текстовой строчки, что мне и требовалось. |