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

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

Pri zakritii programki ona is4ezaet iz traybara =((( [D7, WinXP]


KriNEEDHELP ©   (2005-01-06 22:46:00) 

Zdrastvujte.. u menja o4erednaja problema.. ja nemogu razobratsja s kodom =(( U menja programka kotoraja dolzhna pojavitsja v trybare pri zapuske windows.. ona pojavljaetsja.. =) no kak sdelat' tak 4tob pri viklju4enii programki ona neis4ezala iz traybara .. a ostavalas' tamzhe .. i pri svora4ivanii nahodilas' v trybare ..
Vot kod kotorim ja vospol'zovalas':
procedure TfAddressBook.butIcoClick(Sender: TObject);
var
 no: TNotifyIconData;
 Hicon1: HIcon;
begin
 HIcon1:=ExtractIcon(Handle,pchar(lpath.caption+'\icon.ico'),0);
 with no do
 begin
   cbSize:=Sizeof(TNotifyIconData);
   Wnd:=Handle;
   uID:=0;
   UFlags:=NIF_MESSAGE+NIF_ICON+NIF_TIP;
   SzTip:='Traybar Tip';
   HIcon:=HIcon1;
   uCallBackMessage:=WM_USER+0;
 end;
 Shell_NotifyIcon(NIM_ADD,@no);
end;

Zaranee blagodarju =))


Colonel   (2005-01-07 02:11:00) [1]

Забыл еще про это :


procedure tf.showform(a:integer;b:boolean);
begin
 ShowWindow(Application.Handle,a);
 ShowWindow(Application.MainForm.Handle,a);
 application.ShowMainForm:=b;
end;


В public
procedure FormIcon(var Msg:TMessage); message WM_USER+100;


Colonel   (2005-01-07 02:10:00) [2]

Вот тебе то, что нужно :

Для сворачивания :


procedure TF.AppMinimize(Sender: TObject);
begin
 ShowWindow(Application.Handle,SW_HIDE);
end;

procedure TF.FormCreate(Sender: TObject);
var
st:string;
begin
 Application.OnMinimize:=AppMinimize;
 Application.OnRestore:=AppMinimize;
 Application.Minimize;
 AppMinimize(@Self);
..........................

procedure TF.FormActivate(Sender: TObject);
begin
 icon_(self,nim_add);
 showform(sw_hide,false);
 application.ShowMainForm:=false;
end;

procedure tf.Icon_(sender:tobject;dwMessage:DWORD);
begin
 with nid do begin
               cbSize:=SizeOf( TNotifyIconData );
               Wnd:=f_volume.Handle;
               uID:=1;
               uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
               uCallbackMessage:=WM_USER+100;
               hIcon:=Application.Icon.Handle;
               szTip:='Volume control [Designed by Colonel]'+#13+'Регулировка: Num */-/+';
             end;
 Shell_NotifyIcon(dwMessage,@nid);
end;


Для восстановления :


procedure tf_volume.FormIcon(var Msg:TMessage);
var
 p:tpoint;
begin
 case Msg.lParam of
                  WM_LBUTTONDOWN :
                                  begin
                                    getcursorpos(p);
                                    SetForegroundWindow(Handle);
                                    pm.Popup(p.X,p.y);
                                    PostMessage(Handle,WM_NULL,0,0); //чтобы попап не глючил
                                  end;
 end;
end;



Удачи.


Eraser   (2005-01-07 00:51:00) [3]

Найди на torry.ru специальный компонент для трэйбара (их там десяятки (!)) и не парь себе мозги. Я так и сделал- там все события вынесены!!!


KriNEEDHELP   (2005-01-07 00:44:00) [4]

eto ja ponimaju .. no u menja nesovsem polu4aetsja razobratsja v tom kode 4to ja vivela naverhu .. i gde tam mozhno ukazat', tam netu onclick, =( tam 4toto drugoe, i poka4no neponjatnoe dlja menja .. eh.. ladno nado poiskat' gdenibud' opisanie o traybare.
spasibo za pomosh'=))


Eraser   (2005-01-07 00:33:00) [5]

На обработчик щелчка по иконке в трее!


KriNEEDHELP   (2005-01-06 23:43:00) [6]

heh.. nu a kuda eto zapisat'?? =)) 4esno naznaju .. =)


Eraser   (2005-01-06 23:39:00) [7]

;-))
fmMain.Show;


KriNEEDHELP   (2005-01-06 23:33:00) [8]

Vot.. e6e odin vopros voznik.. kak sdelat' 4tob pri nazhatii na ekonku na task bare.. programka vklju4ilas' opjat'??


KriNEEDHELP   (2005-01-06 23:31:00) [9]

=))) Zdorovo , spasibo!


Eraser   (2005-01-06 23:28:00) [10]

OnClose
 Action:=caNone;
 Hide;


Наверх

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