Форум: "KOL";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
ВнизTKOLTrayIcon и подсказки в трее (balloons, not hints) Найти похожие ветки
← →
Моторокер (2007-01-20 02:00) [0]Использую стандартный TKOLTrayIcon.
Хочу показывать подсказки в трее (всплывающие жёлтые окошки в 2k/XP, не хинты. Например при извлечении USB устройства).
Как добавить такую возможность в программу?
Или лучше создавать и иконку и всё остальное самостоятельно вручную?
← →
D[u]fa © (2007-01-21 16:08) [1]const
NIF_INFO = $00000010;
NIIF_NONE = $00000000;
NIIF_INFO = $00000001;
NIIF_WARNING = $00000002;
NIIF_ERROR = $00000003;
NOTIFYICONDATA_V2_SIZE = $1E8;
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;
// balloon hint for tray
function ShowBalloonHint(const Handle, uID: DWORD; const Hint, Title: 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;
попробуй такой код
← →
D[u]fa © (2007-01-21 16:09) [2]да пример вызова:
ShowBalloonHint(Form.Handle, DWORD(Tray), "Text", "Caption:", NIIF_NONE, 5);
NIIF_NONE - значит иконка нам не нужна
← →
Моторокер (2007-01-31 08:39) [3]Не делает вообще ничего.
Здесь:
ShowBalloonHint(Form.Handle, DWORD(Tray), "Text", "Caption:", NIIF_NONE, 5);
Tray – это что? Ставил 0 или любое число, не помогает.
← →
D[u]fa © (2007-01-31 11:00) [4]Tray это есть PKOLTray
надо юзать коловский трей компонент
← →
homm © (2007-01-31 11:17) [5]> ShowBalloonHint(Form.Handle, DWORD(Tray), "Text", "Caption:
> ", NIIF_NONE, 5);
А нафига такие сложности, почему-бы PKOLTray принимать?
← →
D[u]fa © (2007-01-31 16:29) [6]не понял тебя я)
← →
homm © (2007-02-01 14:30) [7]если Tray это есть PKOLTray
то обычно функцию пишуть так чтобы ее вызов был:
ShowBalloonHint(Form.Handle, Tray, "Text", "Caption:", NIIF_NONE, 5);
Секеш? ;)
← →
D[u]fa © (2007-02-01 18:20) [8]%) а какая разница? нет не секу ;)
и че подмигивать? типа такой плохой код? ;)
....
лично не вижу сложностей это раз.. а два моя функция не подразумевает обязательного исп. ПколТрея, секешь? =)
← →
homm © (2007-02-02 19:57) [9]> моя функция не подразумевает обязательного исп. ПколТрея
а чего пишеш
> Tray это есть PKOLTray
← →
D[u]fa © (2007-02-02 20:05) [10]нуу в данном случае идет его исп. поэтому и написал так) просто думал понятно будет.
← →
Моторокер (2007-02-04 19:29) [11]
> Tray это есть PKOLTray
> надо юзать коловский трей компонент
Значит, TKOLTrayIcon не подойдет? Программа уже готовая, нужны только баллуны. Придётся переделать?
← →
D[u]fa © (2007-02-04 19:44) [12]нее.. я и имел ввиду стандартный коловский трей компонент, все подойдет
← →
Моторокер (2007-03-12 19:53) [13]Проверил код в новом чистом проекте – всё нормально.
Вставляю то же самое в KillOK – функция
Result := Shell_NotifyIcon(NIM_MODIFY, @BalonNID);
возвращает false и ничего не показывает. Плохо.
Точно так же стоит TKOLTrayIcon, точно такое же окно.
← →
SergeR © (2007-07-08 14:55) [14]
> Моторокер (12.03.07 19:53) [13]
>
> Result := Shell_NotifyIcon(NIM_MODIFY, @BalonNID);
> возвращает false и ничего не показывает. Плохо.
>
> Точно так же стоит TKOLTrayIcon, точно такое же окно.
Столкнулся с такой же проблемой. Все перепробовал. Не работает.
← →
ANTPro © (2007-07-08 15:17) [15]Почему-то у меня все работает... Что я делаю не так?
← →
SergeR © (2007-07-08 15:18) [16]Хмм. Создал pKOLTray руками (а не через МСК) - всё заработало. Странно как то...
← →
SergeR © (2007-07-08 15:23) [17]Оказывается у Трея предок Applet, а я хендл формы передавал.
Всё заработало, стоило только посмотреть )
← →
KOLBoss © (2007-07-09 06:11) [18]А зачем изобретать велосипед есть же компонент
<URL=http://kolmck.net/Components/BAPTrayIcon.zip>
BAPTrayIcon.zip
</URL>
Легко и просто есть всё что надо.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.044 c