Конференция "Основная" » Всплывающее окошко/подсказка из трея
 
  • Fixi4eeG (13.01.08 16:26) [0]
    Как можно сделать всплывающую подсказу из трея, пример такой подсказки можно увидить допустим когда удачно прошло соединение впн ("интернет сейчас подключен, щелкните здесь для получения дополнительной информации"). Не хочу прибегать к использованию сторонних компонентов, но хотя сам пользуюсь библиотекой rxlib и к сожалению такой функции я там не нашел..
  • Dib@zol © (13.01.08 17:40) [1]
    Сначала скажи, как реализуешь трэй-иконку. Если через NOTIFYICONDATA, то сперва "мигаешь" ей (напр заменяя на 100 миллисекунд другой иконкой, какимнить там восклицательным знаком), потом вызываешь SystemParametersInfo с параметром ABM_GETTASKBARPOS, он тебе возвращает положение всего трэя на экране. Ты берёшь этот результат и рассчитываешь прямоугольник твоего будущего всплывающего окна. Затем создаёшь окно (форму?) без заголовка, а только с рамкой вокруг, и в нем выводишь всё что пожелается.
  • Fixi4eeG (13.01.08 18:49) [2]
    Я использую компонент RxTrayIcon, саму работа не разбирал, потому что наверно её не пойму ). Т.к далеко начинающий программист.
     Если не тяжело и есть время плиз распиши все в коде ..
  • Ketmar © (14.01.08 03:51) [3]
    > Dib@zol ©   (13.01.08 17:40) [1]
    и попадает это окно фигтекуда. потому что неизвестно, где у трэя док, есть ли он вообще и не спрталась ли твоя икона в невидимую часть.

    автор, MSDN на предмет Shell_NotifyIcon(). в win2k+ там появились эти самые «пузырьки». в заголовочных файлах d7 констант для них нет, но у джедаев (jedi) есть. уверяю, ничего сложного, достаточно вдумчиво почитать MSDN.
  • Смирнов (14.01.08 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 © (26.03.08 11:38) [5]
    Посмотри исходник на DelphiSource.ru там есть статья и пример как это сделать.
 
Конференция "Основная" » Всплывающее окошко/подсказка из трея
Есть новые Нет новых   [134484   +49][b:0][p:0.001]