Главная страница
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.016 c
4-1204522266
uroksan
2008-03-03 08:31
2009.01.18
считывание данных через Usb


15-1226915581
L_W
2008-11-17 12:53
2009.01.18
Linux в сети Windows


3-1212820053
Ega23
2008-06-07 10:27
2009.01.18
INFORMATION_SCHEMA - Foreign Key


2-1228400306
VVrecker
2008-12-04 17:18
2009.01.18
IdHTTPServer сброс пароля полученного с помощью AResponseInfo.Au


6-1197449836
AnatV
2007-12-12 11:57
2009.01.18
Как это называется?