![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;