Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.033 c
4-1092906800
}{ander
2004-08-19 13:13
2004.09.26
CloseHandle


14-1094333223
Ihor Osov'yak
2004-09-05 01:27
2004.09.26
Утечка памяти?


14-1094335114
Incognito (c)
2004-09-05 01:58
2004.09.26
Как программно узнать?


1-1094631492
Ш-К
2004-09-08 12:18
2004.09.26
Список библиотек.


1-1094921344
Navi
2004-09-11 20:49
2004.09.26
Delphi под админом и юзером





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский