![]() |
|
![]() ![]() ![]() |
|
Coocky |
|
||||||||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Пролог
Step
Coocky
Step
М-да...Давайте решим задачу Step_a Есть такое сообщение для многих элементов WM_DRAWITEM.Она вызывает обработчик DrawItem(), в который передается указатель на структуру DRAWITEMSTRUCT содержащей информация о том, что нужно отрисовывать.Вот список элементов управления,где она работает: CTabCtrl CListBox CButton CComboBox CCheckListBox CMenu CHeaderCtrl CStatusBar CListCtrl Всех не упомню.См.МСДН ![]() Давайте попробуем разместиь рисунок в CListBox: Создадим MyListBox класс производный от CListBox Добавим сообщениеWM_DRAWITEM
Если вы запустите данный код,и добавите строку,все отработает.Но добавите еще одну,и первая пропадет.Короче всегда будет видна последняя строка ![]() Почему?Я покурю,а вы подумайте ![]() Догадались.Правильно.Срабатывает принцип черепицы.Последний элемент перерисовывается вместе с фоном,перекрывая предыдущий ![]() Изменим немного код Добавим переменную BOOL m_Flag; Поставим ей значений m_Flag=TRUE;
Т.е при добавление строки,у нас всегда рисовался фон.А мы сделали так,что б это было всего один раз ![]() Эпилог Я пока не знаю,как добавить фон на элементы управления,где нет этой функции.Пока не знаю. Но как только узнаю,расскажу ![]() З.Ы.Кстати у Step_a есть прога,которая позволяет делать анимацию в CStatusBar.Опять же с помощью WM_DRAWITEM.Если че ,все к нему ![]() ![]() Это сообщение отредактировал(а) Coocky - 6.11.2004, 16:09 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
||||||||||
|
|||||||||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |