29.07.2008, 16:48
общий
это ответ
Здравствуйте, Сарумян!
1. Стандартными средствами Windows - никак. Только делать свю собственную реализацию (Если я Вас правильно понял, и Вы имеете в виду простую всплывающую подсказку)
2. Для работы с BalloonHint необходимо использовать расширенную версию записи TNotifyIconData (см. приложение). Собственные иконки для этого хинта определить нельзя (их всего 4 - без иконки, Информационная (буква i), Предупреждение (желтый треугольник) и Ошибка (белый крестик в красном круге)).
Вызов BalloonHint производится функцией Shell_NotifyIcon (использование - в приложении).
Приложение:
Type
TBalloonIcon = (biNone, biInfo, biWarning, biError);
TNotifyIconDataEx = packed Record
cbSize : DWORD;
Wnd : HWND;
ID : UINT;
Flags : UINT;
Callback : UINT;
Icon : HICON;
Tip : Array [0..127] of AnsiChar;
State : DWORD;
StateMask : DWORD;
Info : Array [0..255] of AnsiChar;
Timeout : UINT;
InfoTitle : Array [0..63] of AnsiChar;
InfoFlags : DWORD;
end;
procedure ShowBaloonHint;
var
IconData: TNotifyIconDataEx;
begin
.....
IconData.Flags := IconData.Flags or NIF_INFO;
IconData.Info := 'Текст хинта';
IconData.InfoTitle := 'Заголовок Хинта' ;
IconData.Timeout := 5000; // Время отображения хинта
IconData.InfoFlags:= $00000001; // NIIF_INFO - иконка информации
Shell_NotifyIcon(NIM_ADD, IconData);
end;