Как повесить на Toolbar иконку?
От: SubZero2000 Украина  
Дата: 15.05.03 10:54
Оценка:
Приветы!
Необходимо поместить на Toolbar иконку с возможностью работы с ней работать через попап меню.
С уважением.

15.05.03 14:58: Перенесено модератором из 'C/C++' — ПК
(с)(_SZ_)
Re: Как повесить на Toolbar иконку?
От: Блудов Павел Россия  
Дата: 15.05.03 11:28
Оценка:
Здравствуйте, SubZero2000, Вы писали:

SZ>Необходимо поместить на Toolbar иконку с возможностью работы с ней работать через попап меню.


А в чем проблема-то? Toolbar как правило, использует ImageList контрол для рисования.
А у того есть ImageList_AddIcon. Для всплывающего меню нужно выставить стиль BTNS_DROPDOWN

Павел.
Re[2]: Как повесить на Toolbar иконку?
От: SubZero2000 Украина  
Дата: 16.05.03 13:00
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>А в чем проблема-то? Toolbar как правило, использует ImageList контрол для рисования.

БП>А у того есть ImageList_AddIcon. Для всплывающего меню нужно выставить стиль BTNS_DROPDOWN...


Наверное я чего-то не понял или не так объяснил. Мне необходимо поместить иконку на тулбар десктопа.
Как обратиться к нему и поцепить иконку?

С уважением.
(с)(_SZ_)
Re[3]: Как повесить на Toolbar иконку?
От: Кодт Россия  
Дата: 16.05.03 13:10
Оценка:
Здравствуйте, SubZero2000, Вы писали:

SZ>Наверное я чего-то не понял или не так объяснил. Мне необходимо поместить иконку на тулбар десктопа.

SZ>Как обратиться к нему и поцепить иконку?

Если ты имеешь в виду Трей (где часики и все прочее разное) — см. статью "Иконка в трее"
Автор(ы): Nickolay Merkin
Дата: 04.04.2002
Иконки в трее (системной панели Windows). Способы и инструменты для работы с ними. Библиотека классов.

И вообще, все вокруг Windows Shell.
(=^.^=) Neko ... << RSDN@Home 1.0 beta 7a >>
Перекуём баги на фичи!
Re[3]: Как повесить на Toolbar иконку?
От: SubZero2000 Украина  
Дата: 20.05.03 11:27
Оценка:
Есть такой код:

bool WINAPI SetIcon(HWND hWnd, HINSTANCE hInstance)
{
    NOTIFYICONDATA notifyIconData;
    memset(&notifyIconData, 0, sizeof(notifyIconData)); notifyIconData.cbSize = sizeof(notifyIconData);
    notifyIconData.hWnd = hWnd;
    notifyIconData.uID = 101;
    notifyIconData.hIcon = ::LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
    lstrcpyn(notifyIconData.szTip, "Моя иконка",
                    sizeof(notifyIconData.szTip)/sizeof(notifyIconData.szTip[0]));
    notifyIconData.uFlags = NIF_ICON | NIF_TIP;
    if(Shell_NotifyIcon(NIM_ADD, &notifyIconData)){
        return true;
    }
    return false;
}


Если на вход этой функции посылать hInstance = NULL, она возвращает true, но на трее появляется икока жёлтого треугольника с восклицательным знаком; если же на вход hInstance текущего окна, она тоже возвращает true и на трее появляется невидимая икока, В обоих случаях подсказка "Моя иконка" всплывает, но само-собой ни один из результатов меня не устраивает.
В чём тут может быть дело?
С уважением.
(с)(_SZ_)
Re[4]: Как повесить на Toolbar иконку?
От: SubZero2000 Украина  
Дата: 20.05.03 11:40
Оценка:
Здравствуйте, SubZero2000, Вы писали:...

Большое спасибо . Уже разобрался.
С уважением.
(с)(_SZ_)
Re[5]: Как повесить на Toolbar иконку?
От: Аноним  
Дата: 22.05.03 06:01
Оценка:
Здравствуйте, SubZero2000, Вы писали:

SZ>Здравствуйте, SubZero2000, Вы писали:...


SZ>Большое спасибо . Уже разобрался.


Дел случайно не в размере структуры было?
Re[6]: Как повесить на Toolbar иконку?
От: SubZero2000 Украина  
Дата: 22.05.03 08:11
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Дел случайно не в размере структуры было?


Нет. Я создал новый тип иконки 16х16, а предыдущий 32х32 не удалил. Глупая студия, к сожалению, берёт первый тип, а не новый — пока не удалил все кроме нужного не работало.
С уважением.
(с)(_SZ_)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.