Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.18;
Скачать: CL | DM;

Вниз

Всплывающее окошко/подсказка из трея   Найти похожие ветки 

 
Fixi4eeG   (2008-01-13 16:26) [0]

Как можно сделать всплывающую подсказу из трея, пример такой подсказки можно увидить допустим когда удачно прошло соединение впн ("интернет сейчас подключен, щелкните здесь для получения дополнительной информации"). Не хочу прибегать к использованию сторонних компонентов, но хотя сам пользуюсь библиотекой rxlib и к сожалению такой функции я там не нашел..


 
Dib@zol ©   (2008-01-13 17:40) [1]

Сначала скажи, как реализуешь трэй-иконку. Если через NOTIFYICONDATA, то сперва "мигаешь" ей (напр заменяя на 100 миллисекунд другой иконкой, какимнить там восклицательным знаком), потом вызываешь SystemParametersInfo с параметром ABM_GETTASKBARPOS, он тебе возвращает положение всего трэя на экране. Ты берёшь этот результат и рассчитываешь прямоугольник твоего будущего всплывающего окна. Затем создаёшь окно (форму?) без заголовка, а только с рамкой вокруг, и в нем выводишь всё что пожелается.


 
Fixi4eeG   (2008-01-13 18:49) [2]

Я использую компонент RxTrayIcon, саму работа не разбирал, потому что наверно её не пойму ). Т.к далеко начинающий программист.
 Если не тяжело и есть время плиз распиши все в коде ..


 
Ketmar ©   (2008-01-14 03:51) [3]

> Dib@zol ©   (13.01.08 17:40) [1]
и попадает это окно фигтекуда. потому что неизвестно, где у трэя док, есть ли он вообще и не спрталась ли твоя икона в невидимую часть.

автор, MSDN на предмет Shell_NotifyIcon(). в win2k+ там появились эти самые «пузырьки». в заголовочных файлах d7 констант для них нет, но у джедаев (jedi) есть. уверяю, ничего сложного, достаточно вдумчиво почитать MSDN.


 
Смирнов   (2008-01-14 08:29) [4]


type
//тип используется вместо TNotifyIconData, который объявлен в модуле Windows
TNotifyIconDataEx = record
   cbSize: DWORD;
   hWnd: HWND;
   uID: UINT;
   uFlags: UINT;
   uCallbackMessage: UINT;
   hIcon: HICON;
   szTip: array[0..127] of AnsiChar;  
   dwState: DWORD;
   dwStateMask: DWORD;
   szInfo: array[0..255] of AnsiChar;
   TimeoutOrVersion: TTimeoutOrVersion;
   szInfoTitle: array[0..63] of AnsiChar;
   dwInfoFlags: DWORD;
 end;

procedure ShowBaloon(Captn,Info: pchar);
begin
//FIconData - переменная типа TNotifyIconDataEx, которую ты использовал при добавлении иконки в трей
         FIconData.uFlags := uFlags or NIF_INFO;
         StrCopy(FIconData.szInfo,Info);
         StrCopy(FIconData.szInfoTitle,Captn);
         FIconData.TimeoutOrVersion.uTimeout := 10000;
         FIconData.dwInfoFlags := NIIF_INFO;
        Shell_NotifyIcon(NIM_MODIFY, @FIconData);
end;


 
Sairex ©   (2008-03-26 11:38) [5]

Посмотри исходник на DelphiSource.ru там есть статья и пример как это сделать.



Страницы: 1 вся ветка

Текущий архив: 2009.01.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
1-1205931856
IntruderLab
2008-03-19 16:04
2009.01.18
Вопрос по чеклисту


10-1152170299
d_oleg
2006-07-06 11:18
2009.01.18
распределенный COM-сервер


2-1228290164
DimonS
2008-12-03 10:42
2009.01.18
Возможно ли сгруппировать записи без ограничивающих пробелов?


15-1227183443
XeON
2008-11-20 15:17
2009.01.18
Компонент "Таблица"


1-1206193766
TStas
2008-03-22 16:49
2009.01.18
Отправка сетке соодщения WM_MOUSEDOWN