Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2008, 15:29   #1
Fantom
Пользователь
 
Аватар для Fantom
 
Регистрация: 10.05.2008
Сообщений: 41
По умолчанию Баллонная подсказка при использовании Shell_NotifyIcon

Как сделать не обычную, а балонную, т.е. вместе с заголовком, информационной картинкой и кнопочкой закрытия подсказку иконки в системном трее, если используется процедура Shell_NotifyIcon?
Fantom вне форума Ответить с цитированием
Старый 28.09.2008, 00:41   #2
Crazyman
Пользователь
 
Регистрация: 24.01.2008
Сообщений: 36
По умолчанию

Код:
type

 DUMMYUNIONNAME = record
  case Integer of
    0:(uTimeout: UINT);
    1:(uVersion: UINT);
  end;

_NOTIFYICONDATAA_V2 = record
   cbSize: DWORD;
   Wnd: HWND;
   uID: UINT;
   uFlags: UINT;
   uCallbackMessage: UINT;
   hIcon: HICON;
   // Расширение структуры для Shell32.dll версии пять
   szTip: array [0..MAXCHAR] of AnsiChar;
   dwState: DWORD;
   dwStateMask: DWORD;
   szInfo: array [0..MAXBYTE] of AnsiChar;
   UNIONNAME: DUMMYUNIONNAME;
   //uTimeout: UINT;
   szInfoTitle:  array [0..63] of AnsiChar;
   dwInfoFlags: DWORD;
   // Расширение структуры для Shell32.dll версии шесть
   //guidItem: DWORD;
 end;

const // stiles
 NIIF_NONE      = $00000000;
  NIIF_INFO      = $00000001;
  NIIF_WARNING   = $00000002;
  NIIF_ERROR     = $00000003;
  NIF_INFO       = $00000010;
 NOTIFYICONDATA_V2_SIZE = $1E8;

{
Handle-Handle
uID-id иконки 
 const Title, Hint: String; - не требует обьяснений
Style-стиль
TimeOut-Время показывание окна}
function ShowBalloonHint(const Handle, uID: DWORD; const Title, Hint: String; const Style, TimeOut: Byte): Boolean;
var
 BalonNID: _NOTIFYICONDATAA_V2;
begin
 ZeroMemory(@BalonNID, NOTIFYICONDATA_V2_SIZE);
 BalonNID.cbSize := NOTIFYICONDATA_V2_SIZE;
 BalonNID.Wnd := Handle;
 BalonNID.uID := uID;
 StrPCopy(BalonNID.szInfo, Hint);
 StrPCopy(BalonNID.szInfoTitle, Title);
 BalonNID.UNIONNAME.uTimeout := TimeOut * 1000;
 BalonNID.dwInfoFlags := Style;
 BalonNID.uFlags :=  NIF_INFO;
 Result:= Shell_NotifyIcon(NIM_MODIFY, @BalonNID);
end;

// sample
 ShowBalloonHint(hwnd,1,'Внимание !!!','Test',NIIF_INFO,5)

Последний раз редактировалось rpy3uH; 29.09.2008 в 10:58.
Crazyman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплывающая подсказка (С#) Лучик_света Помощь студентам 1 25.10.2008 10:44
Подсказка artemavd Общие вопросы Delphi 1 17.07.2008 19:34
C# подсказка MAcK Общие вопросы .NET 4 10.07.2008 12:38
нужна подсказка по MYSQL!!! Noor Помощь студентам 5 03.04.2007 10:52
Всплывающяя подсказка в трее Маркъ Общие вопросы Delphi 11 04.03.2007 15:32