Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Fixi4eeG ©   (2008-01-13 16:26:00) 

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


Sairex   (2008-03-26 11:38:00) [1]

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


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


type
//тип используется вместо TNotifyIconData, который объявлен в модуле Windows
TNotifyIconData Ex= 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;


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

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

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


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

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


Dib@zol   (2008-01-13 17:40:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо