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

Вниз

Tray   Найти похожие ветки 

 
the_ram   (2004-08-02 15:15) [0]

Добрый день!! Подскажите пожалуйста, как разместить иконку в Трее. Спасибо.


 
Sancho ©   (2004-08-02 15:20) [1]

Var niData: TNotifyIconData;
begin
 With niData Do
 Begin
   cbSize:= SizeOf(TNotifyIconData);
   Wnd:= Handle;
   uID:= 1;
   uFlags:= NIF_ICON or NIF_MESSAGE or NIF_TIP;
   uCallbackMessage:= WM_TRAYCALLBACK;
   hIcon:= Application.Icon.Handle;
     szTip:= "хинт_который_будет_появляться_когда_мышь_над_иконкой";
 End;
 Shell_NotifyIcon(NIM_ADD, @niData);
end;


 
MetalFan ©   (2004-08-02 15:40) [2]

FAQ!!!!!!!!!!
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988624981&n=15


 
Profi ©   (2004-08-02 16:20) [3]

А еще проще скачать компонент! Их навалом.


 
Pass ©   (2004-08-02 16:36) [4]

Нафиг эти компаненты. Лучше ручками.


 
grom   (2004-08-02 18:43) [5]

TrayIcon
http://denisov.i2x2.ru/delphi/units.htm


 
new user   (2004-08-03 13:50) [6]

У меня другая проблема,
во время работы программы необходимо отображать
в Application.Title процент выполненного задания,
несмотря ни на что Application.Title остается как
был.
И второе, после окончания работы программы иконка не исчезает,
исчезает только после того, как над ней пройтись курсором мыши.
Что я делаю не так?


 
Kurtevich   (2004-08-03 14:12) [7]

странно, у меня в проге совершенно спокойно это делается, вот даже кусок кода:
procedure TFWait.UpdateCaption();
var vbtPercent: byte;
begin
 if ProgressBar.Max>0 then begin
   vbtPercent := Round((ProgressBar.Position/ProgressBar.Max)*100);
   if vbtPercent <> fbtPercent then begin
     fbtPercent := vbtPercent;
     Caption := IntToStr(fbtPercent) + "% - " + fsTitle;
   end;
 end
 else Caption := fsTitle;
 if IsIconic(Application.Handle) then Application.Title := Caption
 else Application.Title := fsTitle;
end;


 
new user   (2004-08-03 14:17) [8]

ну да, у меня попроще, но смысл тот же, а где вы вызываете  
эту свою процедуру, в WNDProc?


 
Kurtevich   (2004-08-03 14:26) [9]

да нет, в TFWait.StepIt(), которая вызывается, когда надо увеличить позицию прогрессбара... хотя, если абстрагироваться и посмотреть со стороны, то... да, в WndProc :)


 
new user   (2004-08-03 15:06) [10]

а что такое у Вас IsIconic


 
Kurtevich   (2004-08-03 15:18) [11]

IsIconic - это виндовзкая функция, которая возвращает True если окно минимизировано


 
new user   (2004-08-03 15:29) [12]

извиняюсь за глупый вопрос :)


 
new user   (2004-08-03 17:04) [13]

Все равно не получается, уже упростил дальше некуда:

procedure TForm1.WndProc(var Message: TMessage);
begin
 UpdateTitle;
case Message.Msg of
  WM_SYSCOMMAND:
    if TWMSysCommand(Message).CmdType and $FFF0 = SC_MINIMIZE then
    begin
      Shell_NotifyIcon(NIM_ADD, @FIconData);
      Application.MainForm.Visible := False
    end
    else inherited;
  UM_TRAY:
    if Message.LParam = WM_LBUTTONDBLCLK then
    begin
      Application.MainForm.Visible := True;
      ShowWindow(Application.Handle, SW_HIDE);
      Shell_NotifyIcon(NIM_DELETE, @FIconData)
   
    end;
  else inherited
end
end;


Procedure TForm1.UpdateTitle();
Begin
 if IsIconic(Application.Handle) then
    Application.Title := TimeToStr(now);
End;


 
Kurtevich   (2004-08-03 17:14) [14]

вот этого я ваще не понял:
> if TWMSysCommand(Message).CmdType and $FFF0 = SC_MINIMIZE
>

особенно вот этого: $FFF0 = SC_MINIMIZE
что здесь имеется в виду?

и что именно не работает?


 
panov ©   (2004-08-03 17:19) [15]

Вообще, замечательно поиск работает.

http://delphimaster.net/view/4-1091136573/


 
new user   (2004-08-03 17:19) [16]

это минимизация окна, а не работает
изменение Application.Title, я там уже без всяких
вычислений текущее вермя вывожу, а оно не изменяется


 
panov ©   (2004-08-03 17:47) [17]

>new user   (03.08.04 17:19) [16]

Для изменгения всплывающего хинта после изменения Application.Title в примере из http://delphimaster.net/view/4-1091136573/ достаточно добавить код IconTray(NIM_MODIFY);


 
new user   (2004-08-03 18:13) [18]

Спасибо, получилось!


 
new user   (2004-08-03 18:21) [19]

не пойму только почему после окончания работы программы иконка не исчезает, исчезает только после того, как над ней пройтись курсором мыши, а?


 
grom   (2004-08-03 22:33) [20]

TrayIcon
http://denisov.i2x2.ru/delphi/units.htm
смотри пример
ищи   Shell_NotifyIcon(NIM_DELETE,@nim);


 
panov ©   (2004-08-03 22:39) [21]

>new user   (03.08.04 18:21) [19]
Опять же смотри пример и удаление иконки.


 
OSokin ©   (2004-08-10 20:34) [22]

ЛЮДИ!!! ВЫ ЧЕГО??? ЧУТЬ ЛИ НЕ КАЖДЫЙ МЕСЯЦ ПОЯВЛЯЕТСЯ ХОТЬ ОДИН ТОПИК НА ЭТУ ТЕМУ!!! СТАРЫЕ ТОПИКИ НАРОДУ ПОЧИТАТЬ ЛЕНЬ И В СПРАВКЕ ПОКОПАТЬСЯ???!!!


 
имя   (2004-08-10 21:13) [23]

Удалено модератором


 
имя   (2004-08-10 21:13) [24]

Удалено модератором


 
имя   (2004-08-10 21:13) [25]

Удалено модератором


 
имя   (2004-08-10 21:13) [26]

Удалено модератором


 
имя   (2004-08-10 21:13) [27]

Удалено модератором


 
имя   (2004-08-10 21:13) [28]

Удалено модератором


 
имя   (2004-08-10 21:13) [29]

Удалено модератором



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

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

Наверх




Память: 0.53 MB
Время: 0.023 c
8-1088949996
ilop
2004-07-04 18:06
2004.09.26
Помогите разобраться с DirectX.


6-1089100429
Сергей2004
2004-07-06 11:53
2004.09.26
Размеры страницы в TWebBrowser


6-1090163874
banderas
2004-07-18 19:17
2004.09.26
net send


1-1093969695
Synochka
2004-08-31 20:28
2004.09.26
ListBox, CheckListBox и Windows XP


1-1094627427
Gepard
2004-09-08 11:10
2004.09.26
TOpenDialog