в WinMain:
hGoIcon = LoadIcon(hInstance, (LPCTSTR)IDI_TRAY);
WndProc:
case WM_CREATE:
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hWnd;
nid.uID = IDI_TRAY;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = WM_SHELLNOTIFY;
lstrcpy(nid.szTip, "send");
Shell_NotifyIcon(NIM_ADD, &nid);
иконка в трэе невидима (why?)
подскажите, в чем дело?
код напиши....
Возможно, в иконке есть абсолютной пустой device image. А вообще, код в студию. :)
Код:
case WM_CREATE:
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hWnd;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.hIcon = hGoIcon;
nid.uCallbackMessage = WM_SHELLNOTIFY;
lstrcpy(nid.szTip, "send");
Shell_NotifyIcon(NIM_ADD, &nid);
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hWnd;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.hIcon = hGoIcon;
nid.uCallbackMessage = WM_SHELLNOTIFY;
lstrcpy(nid.szTip, "send");
Shell_NotifyIcon(NIM_ADD, &nid);
А так?
Цитата: delta_cr
Код:
в WinMain:
hGoIcon = LoadIcon(hInstance, (LPCTSTR)IDI_TRAY);
WndProc:
case WM_CREATE:
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hWnd;
nid.uID = IDI_TRAY;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = WM_SHELLNOTIFY;
lstrcpy(nid.szTip, "send");
Shell_NotifyIcon(NIM_ADD, &nid);
hGoIcon = LoadIcon(hInstance, (LPCTSTR)IDI_TRAY);
WndProc:
case WM_CREATE:
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hWnd;
nid.uID = IDI_TRAY;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = WM_SHELLNOTIFY;
lstrcpy(nid.szTip, "send");
Shell_NotifyIcon(NIM_ADD, &nid);
пробовала загружать IDI_SMALL, IDI_APPL, они тоже не отображаются.. ((
delta_cr, то, что ты загружаешь иконку (LoadIcon) еще ничего кроме загрузки ее в память не дает. Ее нужно где-то использовать, т.е. указать, что ты ее используешь.
Смотри код Nixus'а.
ток непонятно, почему нельзя по id вызывать?
Всмысле "вызвать по id" ?
Если указать иконку по id, то например ты можешь загрузить ее из файла или нарисовать сам (CreateIcon)
uID - это идентификатор твоей структуры... а не иконки...