|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.04.2014, 21:11 | #1 |
Новичок
Джуниор
Регистрация: 23.04.2014
Сообщений: 1
|
Рисуем элементы меню (на диалоге)
Доброго времени суток!
Что требуется: На диалоговом окне (C++, MFC) CMenuTestDlg есть главное и контекстные меню, созданные в редакторе ресурсов. Необходимо добавить в него иконки и разрисовать элементы в стиле Office2003, т.е. под иконкой фон закрашивать синим, выделенный элемент подсвечивать желто-розовым, обводить рамкой. Многим (разным) пунктам меню должна соответствовать одна и та же иконка. Иконки 32-bit хранятся в ресурсах в виде икон (не тулбар!). Что сделал: В карту обработчика сообщений диалога добавил Код:
Код:
Код:
Функции OnMeasureItem() и OnDrawItem() вызываются, всё нормально. Иконку в OnDrawItem() рисую, проблем нет. Но не могу рисовать по элементу меню в том месте, где выводится текст. Во-первых, lpdis->rcItem определяет прямоугольник под иконой. Получить рект всего элемента не знаю как. Во-вторых, даже задавая рект для всего элемента вручную, вижу только фрагмент отрисовки своего прямоугольника, всё остальное накрывает текст элемента. В третьих, не понимаю, как различать выделенный и невыделенный элемент меню. Помогите для начала банально залить весь прямоугольник невыделенного элемента меню красным. ЗЫ: Что было прочитано: ФАК 74 Как вставить иконки в стандартное меню иконки в меню menu www.codeproject.com/Articles/16529/Simple-Menus-That-Display-Icons-Minimalistic-Appro www.codeproject.com/Articles/2354/Owner-Drawn-Menu-with-Icons-Titles-and-Shading www.realcoding.net/articles/glava-12-v-glubine-menyu.html ЗЗЫ: Не откажусь от уже готового класса, если таковой имеется. С уважением и надеждой! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работают элементы управления в диалоге MFC | nubak | Помощь студентам | 0 | 16.04.2013 19:56 |
Элементы управления(кнопки, меню) в fullscreen OpenGL приложении | suc-daniil | Общие вопросы C/C++ | 4 | 30.03.2011 22:11 |
Элементы управления(кнопки, меню) в fullscreen OpenGL приложении | suc-daniil | Помощь студентам | 0 | 15.02.2011 18:05 |
Автосатически нажать OK в диалоге | eglantier | Microsoft Office Excel | 2 | 16.03.2009 16:27 |
Присвоение имени файлу в диалоге | Beliyd | Общие вопросы Delphi | 3 | 05.09.2007 18:54 |