Картинки в меню
От: eugene_mpei  
Дата: 05.11.02 13:20
Оценка:
Подскажите, пожалуйста, как поместить картинку рядом с названием пункта меню, используя только WinAPI? Пробовал использовать функцию SetMenuItemBitmaps, но изображение получается черно-белым.
Re: Картинки в меню
От: Алекс Россия http://wise-orm.com
Дата: 05.11.02 13:22
Оценка: -1
Здравствуйте eugene_mpei, Вы писали:

EM>Подскажите, пожалуйста, как поместить картинку рядом с названием пункта меню, используя только WinAPI? Пробовал использовать функцию SetMenuItemBitmaps, но изображение получается черно-белым.


С помощью стандартных средств, AFAIK, никак.
Re: Картинки в меню
От: Ed.ward Россия  
Дата: 05.11.02 13:24
Оценка: 2 (1) -1
Здравствуйте eugene_mpei, Вы писали:

EM>Подскажите, пожалуйста, как поместить картинку рядом с названием пункта меню, используя только WinAPI? Пробовал использовать функцию SetMenuItemBitmaps, но изображение получается черно-белым.


Смотри значение MFT_OWNERDRAW поля fType структуры MENUITEMINFO
вобщем и целом идея этого подхода сводится к тому, что когда пункт меню нужно будет отрисовать, система сообщит об этом тебе, и ты сможешь нарисовать на этом пункте все, что захочешь

Ed.ward
Re[2]: Картинки в меню
От: Hacker_Delphi Россия  
Дата: 05.11.02 13:52
Оценка: 12 (1) -1
Здравствуйте Алекс, Вы писали:

А>Здравствуйте eugene_mpei, Вы писали:


EM>>Подскажите, пожалуйста, как поместить картинку рядом с названием пункта меню, используя только WinAPI? Пробовал использовать функцию SetMenuItemBitmaps, но изображение получается черно-белым.


А>С помощью стандартных средств, AFAIK, никак.

флаг MFT_BITMAP
и поля
hbmpChecked
hbmpUnchecked
... << RSDN@Home 1.0 alpha 12 РУЛИТ!!! >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[2]: Картинки в меню
От: Hacker_Delphi Россия  
Дата: 05.11.02 13:57
Оценка:
Здравствуйте Ed.ward, Вы писали:

EW>Здравствуйте eugene_mpei, Вы писали:


EM>>Подскажите, пожалуйста, как поместить картинку рядом с названием пункта меню, используя только WinAPI? Пробовал использовать функцию SetMenuItemBitmaps, но изображение получается черно-белым.


EW>Смотри значение MFT_OWNERDRAW поля fType структуры MENUITEMINFO

EW>вобщем и целом идея этого подхода сводится к тому, что когда пункт меню нужно будет отрисовать, система сообщит об этом тебе, и ты сможешь нарисовать на этом пункте все, что захочешь

EW>Ed.ward


а про MFT_BITMAP ты забыл???
... << RSDN@Home 1.0 alpha 12 РУЛИТ!!! >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[3]: Картинки в меню
От: Алекс Россия http://wise-orm.com
Дата: 05.11.02 13:57
Оценка: -1
Здравствуйте Hacker_Delphi, Вы писали:

хъ

HD>флаг MFT_BITMAP

HD>и поля
HD>hbmpChecked
HD>hbmpUnchecked

И чего? Будет такая же черно белая битмапка. Еще раз повторю, что без использования WM_MEASUREITEM и проч. не обойтись.
Re[4]: Картинки в меню
От: Hacker_Delphi Россия  
Дата: 05.11.02 19:22
Оценка:
Здравствуйте Алекс, Вы писали:

А>Здравствуйте Hacker_Delphi, Вы писали:


А>хъ


HD>>флаг MFT_BITMAP

HD>>и поля
HD>>hbmpChecked
HD>>hbmpUnchecked

А>И чего? Будет такая же черно белая битмапка. Еще раз повторю, что без использования WM_MEASUREITEM и проч. не обойтись.

Черно-белая??? Ты о чем?
В енти мемберы пишутся Handle'ы ЛЮБЫХ битмапок — проверено, работает (а иначе как бы Context Menu в Explorer рисовались??? там нельзя OwnerDraw пользовать )
Цитата из описания структуры MENUITEMINFO из MSDN:

fType — Menu item type. This member can be one or more of these values.
MFT_BITMAP — Displays the menu item using a bitmap. The low-order word of the dwTypeData member is the bitmap handle, and the cch member is ignored.
Windows 98/Me, Windows 2000/XP: MFT_BITMAP is replaced by MIIM_BITMAP and hbmpItem

Алгоритм добавления картинки:
1. Создаем ManuItem
2. Через SetMenuItemInfo прописываем Handle изображения
... << RSDN@Home 1.0 alpha 12 РУЛИТ!!! >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[2]: Картинки в меню
От: Ed.ward Россия  
Дата: 05.12.02 13:12
Оценка:
Здравствуйте, Ed.ward, Вы писали:

EW>Здравствуйте eugene_mpei, Вы писали:


EM>>Подскажите, пожалуйста, как поместить картинку рядом с названием пункта меню, используя только WinAPI? Пробовал использовать функцию SetMenuItemBitmaps, но изображение получается черно-белым.


EW>Смотри значение MFT_OWNERDRAW поля fType структуры MENUITEMINFO

EW>вобщем и целом идея этого подхода сводится к тому, что когда пункт меню нужно будет отрисовать, система сообщит об этом тебе, и ты сможешь нарисовать на этом пункте все, что захочешь

EW>Ed.ward


ну и за что мне "0", товарищ PSP, просветите в чем я неправ, а то так дураком и помру

Ed.ward
Re[3]: Картинки в меню
От: vasketsov Россия http://ntprog.by.ru
Дата: 05.12.02 13:22
Оценка:
BREAK.

Расскажу небольшой секрет.
Существуют ограничения USER/GDI для 9x, не описанные в MSDN. У меня где-то бук валяется на эту тему. Потому цветные или ч/б картинки (не) вставляются — извольте указать версию Windows. За себя ручаюсь, 2000-я у меня цветные вставляла.
Васкецов Сергей
http://registry.km.ru
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.