Как создать пункт меню с иконкой. Желательно с альфаканалом

Тема в разделе "WASM.WIN32", создана пользователем DevilDevil, 4 авг 2009.

Статус темы:
Закрыта.
  1. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    У меня есть:
    HMENU Menu - хендл меню
    int indexMenu - индекс
    int idCmdFirst - идентификатор
    HICON Icon - иконка 16х16, которая должна присутствовать в пункте меню
     
  2. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    ты кое-что забыл!
    нехватает мозгов! .D

    вот тут примерчик:
    http://www.codeguru.com/Cpp/controls/menu/bitmappedmenus/article.php/c187/

    гуглится жеж на ура!)
     
  3. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    Слишком много текста и судя по всему на MFC

    Мне нужен общий принцип. И желательно несколько строк кода
     
  4. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    Вот, посмотри (исходники -> интерфейс) XXControls.
     
  5. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    вроде бы так:
    Код (Text):
    1. /* си */
    2.     MENUITEMINFO    mii
    3.     mii.cbSize = sizeof (MENUITEMINFO);
    4.     mii.fMask = MIIM_DATA
    5.     mii.dwItemData = hIcon /* вот, иконка */
    6.     SetMenuItemInfo(hMenu, ItemID, 0, &mii);
    где:
    hMenu - Id menu
    ItemId - Id позиции меню
    3-й параметр (ItemId) - определяет значение ItemId. если 0, то ItemId - идентификатор пункта
    меню,иначе - это позиция меню.
     
  6. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    C вопросами типа "Как создать пункт меню с иконкой" - к первоисточнику: Google -> "Using Menus" (msdn)
     
  7. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    kero, я понятия не имею, как для остальных... Лично для меня вопрос является очень сложным.
    Мучаюсь давно.

    Microedition, hIcon загружен, SetMenuItemInfo вернул true, Иконка в меню не отображается.
    Сам может попробуешь: http://devilhome.narod.ru/lphoto.ico
     
  8. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    Попробовал иконку 16х16
    То же самое

    http://devilhome.narod.ru/lphoto_16x16.ico
     
  9. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    DevilDevil

    Ну те ж показали:
    все билдится и работает

    А насчет
    и

    ты определись, а то оно несколько рассогласовано получается))
     
  10. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    Значит так
    В любом случае ответ хочу получить от человека, который данный вопрос решал. Насоветовать всякой ерунды может любой. Пункт меню лично я создаю одной строкой:

    Код (Text):
    1. InsertMenu(Menu, indexMenu+i, MF_STRING or MF_BYPOSITION, idCmdFirst+MenuItem.ID, pchar(MenuItem.Caption));
    WinAPI содержит много способов сделать BITMAP/ICON, не прибегая к перерисовке меню. Ни один из опробованных мной способов не привёл к результату. Поэтому отвалите неумельцы и советуйте те, кто с вопросом сталкивался.
     
  11. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
    P.S. речь идёт о контекстом системном меню. Пункте меню типа WinRar
     
  12. DevilDevil

    DevilDevil Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2007
    Сообщения:
    101
  13. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    down
     
  14. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
  15. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Значит так. Никто тут тебе ничего не должен.

    Забирай свой хамский тон и вали туда, откуда пришел.

    right. all right.
     
Статус темы:
Закрыта.