На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Adding and Deleting Taskbar Icons



You add an icon to the taskbar status area by filling a NOTIFYICONDATA structure and then sending the structure through the NIM_ADD message. The structure members must specify the handle of the window that is adding the icon, as well as the icon identifier and icon handle. You can also specify ToolTip text for the icon. If you need to receive mouse messages for the icon, specify the identifier of the callback message that the system should use to send the message to the window procedure.

The function in the following example demonstrates how to add an icon to the taskbar.

// MyTaskBarAddIcon - adds an icon to the taskbar status area.
// Returns TRUE if successful or FALSE otherwise.
// hwnd - handle of the window to receive callback messages
// uID - identifier of the icon
// hicon - handle of the icon to add
// lpszTip - ToolTip text
BOOL MyTaskBarAddIcon(HWND hwnd, UINT uID, HICON hicon, LPSTR lpszTip)
{
BOOL res;
NOTIFYICONDATA tnid;

tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = hwnd;
tnid.uID = uID;

tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
tnid.uCallbackMessage = MYWM_NOTIFYICON;
tnid.hIcon = hicon;
if (lpszTip)
lstrcpyn(tnid.szTip, lpszTip, sizeof(tnid.szTip));
else
tnid.szTip[0] = '\0';

res = Shell_NotifyIcon(NIM_ADD, &tnid);

if (hicon)
DestroyIcon(hicon);

return res;
}


To delete an icon from the taskbar status area, fill a NOTIFYICONDATA structure and send it to the system when you send a NIM_DELETE message. When deleting a taskbar icon, specify only the cbSize, hWnd, and uID members, as the following example shows.

// MyTaskBarDeleteIcon - deletes an icon from the taskbar
// status area.
// Returns TRUE if successful or FALSE otherwise.
// hwnd - handle of the window that added the icon
// uID - identifier of the icon to delete
BOOL MyTaskBarDeleteIcon(HWND hwnd, UINT uID)
{
BOOL res;
NOTIFYICONDATA tnid;

tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = hwnd;
tnid.uID = uID;

res = Shell_NotifyIcon(NIM_DELETE, &tnid);

return res;
}



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Дополнение и Удаляющие Иконы Taskbar



Вы добавляете икону к области статуса taskbar заполняя структуру NOTIFYICONDATA и затем посылая структуру через сообщение NIM_ADD. Структурные участники должны определить ручку окна, которое добавляет икону, а также иконный идентификатор и иконная ручка. Вы можете также определить текст ToolTip для иконы. Если Вам нужно получать сообщения мыши для иконы, определите идентификатор сообщения возврата, что система должна использовать, чтобы посылать сообщение в процедуру окна.

Функция в следующем примере демонстрирует как, чтобы добавлять икону к taskbar.

// MyTaskBarAddIcon - ДОБАВЛЯЕТ икону к области статуса taskbar.
// ИСТИНА Возврата если успешный или ЛОЖНЫЙ в противном случае.
// hwnd - ручка окна, чтобы получать сообщения / возврат/ uID - идентификатор иконы // hicon - ручка иконы, чтобы добавлять // lpszTip - текст ToolTip
BOOL MyTaskBarAddIcon(HWND hwnd, UINT uID, HICON hicon, LPSTR lpszTip)
{
res BOOL;
NOTIFYICONDATA tnid;

tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = hwnd;
tnid.uID = uID;

tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
tnid.uCallbackMessage = MYWM_NOTIFYICON;
tnid.hIcon = hicon;
если (lpszTip)
lstrcpyn(tnid.szTip, lpszTip, sizeof(tnid.szTip));
еще
tnid.szTip[0] = '\0;

res = Shell_NotifyIcon(NIM_ADD, &tnid);

если (hicon) DestroyIcon(hicon);

возврат res;
}


Для того, чтобы удалять икону из области статуса taskbar, заполните структуру NOTIFYICONDATA и посылайте это в систему когда Вы посылаете сообщение NIM_DELETE. Удаляя икону taskbar, определите только cbSize, hWnd, и участников uID, так как следующий пример показывает.

// MyTaskBarDeleteIcon - УДАЛЯЕТ икону из taskbar // область статуса.
// ИСТИНА Возврата если успешный или ЛОЖНЫЙ в противном случае.
// hwnd - ручка окна, которое добавляло икону // uID - идентификатор иконы, чтобы удалять BOOL MyTaskBarDeleteIcon(HWND hwnd, UINT uID)
{
res BOOL;
NOTIFYICONDATA tnid;

tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = hwnd;
tnid.uID = uID;

res = Shell_NotifyIcon(NIM_DELETE, &tnid);

возврат res;
}



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz