как прицепить иконки к меню ?
От: ламмму Украина http://itjob.kharkov.ua
Дата: 29.04.08 07:53
Оценка:
Привет

Вобщем есть попап меню вытягиваемое из ресурсов...
Как каждому итему назначить иконку ?

спасибо
<b>bold text</b>
Re: как прицепить иконки к меню ?
От: denaturat  
Дата: 30.04.08 05:25
Оценка:
Здравствуйте, ламмму, Вы писали:

Л>Привет


Л>Вобщем есть попап меню вытягиваемое из ресурсов...

Л>Как каждому итему назначить иконку ?

Л>спасибо


Ownerdraw тебе в помощь. Но можешь сходить на codeproject.com. Там есть варианты красивых попуп-меню с картинками как раз для WTL.
Re: как прицепить иконки к меню ?
От: Splin Беларусь  
Дата: 30.04.08 10:52
Оценка: 1 (1)
Здравствуйте, ламмму, Вы писали:

Л>Привет


Л>Вобщем есть попап меню вытягиваемое из ресурсов...

Л>Как каждому итему назначить иконку ?

Л>спасибо

создать ImageList и задать его в CCommandBarCtrl.
Далее CCommandBarCtrl.TrackPopupMenu.
... << RSDN@Home 1.2.0 alpha 3 rev. 880>>
Re[2]: как прицепить иконки к меню ?
От: ламмму Украина http://itjob.kharkov.ua
Дата: 09.06.08 08:35
Оценка:
Здравствуйте, Splin, Вы писали:

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


Л>>Привет


Л>>Вобщем есть попап меню вытягиваемое из ресурсов...

Л>>Как каждому итему назначить иконку ?

Л>>спасибо

S>создать ImageList и задать его в CCommandBarCtrl.
S>Далее CCommandBarCtrl.TrackPopupMenu.

А где этот CCommandBarCtrl находиться ?
<b>bold text</b>
Re[3]: как прицепить иконки к меню ?
От: MNZ Россия  
Дата: 10.06.08 07:54
Оценка:
Здравствуйте, ламмму, Вы писали:

Л>А где этот CCommandBarCtrl находиться ?


Находится в atlctrlw.h. Создайте новый пустой WTL проект с включённой галочкой CommandBar и посмотрите, как он создаётся.
Re[4]: как прицепить иконки к меню ?
От: ламмму Украина http://itjob.kharkov.ua
Дата: 11.06.08 07:16
Оценка:
Здравствуйте, MNZ, Вы писали:

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


Л>>А где этот CCommandBarCtrl находиться ?


MNZ>Находится в atlctrlw.h. Создайте новый пустой WTL проект с включённой галочкой CommandBar и посмотрите, как он создаётся.


Делаю так:
    CCommandBarCtrl ctrl;
    RECT r;
    r.bottom = r.left = r.right = r.top = 0;
    ctrl.AddIcon(...);
        ctrl.AddIcon(...);
    ctrl.Create(hWnd, r);
    CMenu menuPopup;
    menuPopup.LoadMenu(IDR_MENU_POPUP);
    ctrl.TrackPopupMenu(menuPopup.GetSubMenu(0).m_hMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON, x, y);
    ctrl.DestroyWindow();

Менюшка показуется нормально, с иконками... но теперь не приходят события о нажатии в менюхе(OnCommand)... что делать ?
<b>bold text</b>
Re[5]: как прицепить иконки к меню ?
От: ламмму Украина http://itjob.kharkov.ua
Дата: 11.06.08 13:11
Оценка:
ну памажите пажалуста
<b>bold text</b>
Re[3]: как прицепить иконки к меню ?
От: Splin Беларусь  
Дата: 12.06.08 06:21
Оценка:
Здравствуйте, ламмму, Вы писали:

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


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


Л>>>Привет


Л>>>Вобщем есть попап меню вытягиваемое из ресурсов...

Л>>>Как каждому итему назначить иконку ?

Л>>>спасибо

S>>создать ImageList и задать его в CCommandBarCtrl.
S>>Далее CCommandBarCtrl.TrackPopupMenu.

Л>А где этот CCommandBarCtrl находиться ?


Если проект сгенерирван визардом:

CMainFrame::m_CmdBar

1) Добавляем в CMainFrame метод для отображение контекстных меню:
BOOL CMainFrame::TrackPopupMenu(HMENU hMenu, UINT uFlags, int x, int y, LPTPMPARAMS lpParams = NULL)
{
 return m_CmdBar.TrackPopupMenu(hMenu, uFlags, x, y, lpParams);
}

2) вызываем наш метод где-то в коде вместо стандартного TrackPopupMenu.
Re[5]: как прицепить иконки к меню ?
От: MNZ Россия  
Дата: 16.06.08 13:43
Оценка:
Здравствуйте, ламмму, Вы писали:

Л>Делаю так:

Л>
Л>    ctrl.Create(hWnd, r);
Л>

Л>Менюшка показуется нормально, с иконками... но теперь не приходят события о нажатии в менюхе(OnCommand)... что делать ?

А hWnd чей указывается? Видимо, туда и приходят. А почему не создаёте CommandBar при помощи CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE) в главной форме?
Re[6]: как прицепить иконки к меню ?
От: ламмму Украина http://itjob.kharkov.ua
Дата: 17.06.08 12:38
Оценка:
Здравствуйте, MNZ, Вы писали:

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


Л>>Делаю так:

Л>>
Л>>    ctrl.Create(hWnd, r);
Л>>

Л>>Менюшка показуется нормально, с иконками... но теперь не приходят события о нажатии в менюхе(OnCommand)... что делать ?

MNZ>А hWnd чей указывается? Видимо, туда и приходят. А почему не создаёте CommandBar при помощи CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE) в главной форме?


Просто у меня не CMainForm.
Я делаю плугин для IE. вызываю это дело из вотакого каласса :

class CBandToolBarCtrl 
    : public CWindowImpl<CBandToolBarCtrl, CToolBarCtrl>
{
  //[...]
   OnSomeEvent(bla,bla)
   {
       //код который я ранее показал
   }
};


hWnd — это m_hWnd этого класса

<b>bold text</b>
Re[7]: как прицепить иконки к меню ?
От: MNZ Россия  
Дата: 17.06.08 13:16
Оценка:
Здравствуйте, ламмму, Вы писали:

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


MNZ>>А hWnd чей указывается? Видимо, туда и приходят. А почему не создаёте CommandBar при помощи CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE) в главной форме?


Л>Просто у меня не CMainForm.

Л>Я делаю плугин для IE. вызываю это дело из вотакого каласса :

Л>
Л>class CBandToolBarCtrl 
Л>    : public CWindowImpl<CBandToolBarCtrl, CToolBarCtrl>
Л>{
Л>  //[...]
Л>   OnSomeEvent(bla,bla)
Л>   {
Л>       //код который я ранее показал
Л>   }
Л>};
Л>


Л>hWnd — это m_hWnd этого класса


Л>


Когда-то давно я тоже делал тулбар для IE, и у меня создавалось специальное окно для отлова сообщений (по примеру с codeproject.com)... В любом случае, на вашем месте я бы первым делом посмотрел при помощи Spy++, куда идут сообщения
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.