![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание баллона [D5, Win2k]
Aragon © (2006-02-02 10:25:00)Hi! Подскажите, как создавать всплывающий баллон в delphi и с ним работать. Например, появляется при Подключение по локальной сети, используется в msagent. Кажется, надо использовать какой-то интерфейс.
За ранее всем спасибо!
Rouse_ (2006-02-03 10:28:00) [1]
> TFWBalloonHintStyle - это где описано?
Это вот от сюда кусок взят: http://rouse.front.ru/fwtray.zip
ss2 (2006-02-02 19:41:00) [2]http://www.delphikingdom.info/asp/answer.asp?IDAnswer=26401
kaZaNoVa (2006-02-02 13:07:00) [3]там много чего не описано ... наверное мудуль какой-то надо подключить .. тока какой ...
Kolan (2006-02-02 13:05:00) [4]
TFWBalloonHintStyle- это где описано?
Kolan (2006-02-02 12:39:00) [5]И мне пригодится :)
Rouse_ (2006-02-02 10:55:00) [6]Структура:
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
BalloonStyle: array[TFWBalloonHintStyle] of Byte =
(NIIF_NONE, NIIF_INFO, NIIF_WARNING, NIIF_ERROR);
var
BalonNID: _NOTIFYICONDATAA_V2;
begin
// Выполняем данную процедуру только если версия Shell32.dll больше четвертой
Result := GetShellVersion >= NEED_SHELL_VER;
if not Result then Exit;
// Для отображения BalloonHint используем немного расширенную структуру
ZeroMemory(@BalonNID, NOTIFYICONDATA_V2_SIZE);
BalonNID.cbSize := NOTIFYICONDATA_V2_SIZE;
// Копируем необходимые св-ва со старой структуры
BalonNID.Wnd := FTrayIcon.Wnd;
BalonNID.uID := FTrayIcon.uID;
// Добавляем свои данные
StrPCopy(BalonNID.szInfo, Hint);
StrPCopy(BalonNID.szInfoTitle, Title);
BalonNID.UNIONNAME.uTimeout := TimeOut * 1000;
BalonNID.dwInfoFlags := BalloonStyle[Style];
// Выставляем флаг !!!
BalonNID.uFlags := NIF_INFO;
// Отображаем балон...
Shell_NotifyIcon(NIM_MODIFY, @BalonNID);