Ĺadny brzuch
Jak stworzyć ikonę na pasku obok ikony Minimalizuj taką ikonę jak np. w EasyCleaner by po kliknięciu na nią program minimalizował się do zasobnika?
Najprościej to uzyć komponentu do tego. Np w JVCL jest coś takiego jak TJvaCaptionButton - dzięki niemu możesz sobie zdefiniować dodatkowy przycisk na belce okna - wystarczy jedynie oprogramować onclick takiego przycisku. A jak minimalizować aplikację do traya to znajdziesz na forum (wpisałem w wyszukiwarkę +tray +delphi i parę tematów wyskoczyło).
Jako, że pytałeś jak pokazać a nie jaki komponent do tego jest to masz:
Masz tu książkowy przykład:
uses ShellApi const WM_MYNOTIFYMSG = WM_USER+111; IconID = 111; var NotifRec: TNotifyIconData; procedure TRAY_ON; begin with NotifRec do begin cb:=sizeof(NotifRec); Wnd:= handle; uID:= NIF_ICON or NIF_MESSAGE OR NIF_TIP; uCallbackMessage:=WM_MYNOTIFYMSG; hIcon:=Icon.handle; szTip:='Ikona w trayu'; end; if Shell_NotifyIcon(NIM_ADD,@NotifRec) then begin ShowWindow(Application.Handle,SW_HIDE); ShowWindow(Handle,SW_HIDE); end; end; procedure TRAY_OFF; begin Shell_NotifyIcon(NIM_DELETE,@NotifRec) then begin ShowWindow(Application.Handle,SW_SHOW); ShowWindow(Handle,SW_SHOW); end; end; deklarujesz najpierw takie cuś Procedure komunikaty(var Message: TMessage); message WM_MYNOTIFYMSG; a później Procedure komunikaty(var Message: TMessage); message WM_MYNOTIFYMSG; var rect: TPoint; begin if Message.WParam=IconID then case Message.lParam of WM_LBUTTONDBLCLK: //tutaj pokazujesz to co chcesz po dwukrotnym kliknieciu lewym przyciskiem WM_RBUTTONDOWN: //tutaj pokazujesz swoje menu begin SetForegroundWindow(Handle); GetCursor(rect); PopMenu.Popup(rect.x,rect.y); end; end; end;
jest to książkowy przykład, wiec mogłem zrobic gdzies literówke polecam CTRL+SPACE :)
Użytkownik nie podam edytował ten post 15 listopad 2005, 14:04
To jest kod na ukrycie i pokazanie okna.
Czy jest tutaj zawarta również ikona (nie w tray`u) tylko na pasku obok Zamknij, Minimalizuj...?
A propos TJvaCaptionButton, gdzie mogę go znależć?
To jest kod na ukrycie i pokazanie okna.
Czy jest tutaj zawarta również ikona (nie w tray`u) tylko na pasku obok Zamknij, Minimalizuj...?
A propos TJvaCaptionButton, gdzie mogę go znależć?
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Najprościej to uzyć komponentu do tego. Np w JVCL jest coś takiego jak TJvaCaptionButton - dzięki niemu możesz sobie zdefiniować dodatkowy przycisk na belce okna - wystarczy jedynie oprogramować onclick takiego przycisku. A jak minimalizować aplikację do traya to znajdziesz na forum (wpisałem w wyszukiwarkę +tray +delphi i parę tematów wyskoczyło).
Jako, że pytałeś jak pokazać a nie jaki komponent do tego jest to masz:
Masz tu książkowy przykład:
uses ShellApi const WM_MYNOTIFYMSG = WM_USER+111; IconID = 111; var NotifRec: TNotifyIconData; procedure TRAY_ON; begin with NotifRec do begin cb:=sizeof(NotifRec); Wnd:= handle; uID:= NIF_ICON or NIF_MESSAGE OR NIF_TIP; uCallbackMessage:=WM_MYNOTIFYMSG; hIcon:=Icon.handle; szTip:='Ikona w trayu'; end; if Shell_NotifyIcon(NIM_ADD,@NotifRec) then begin ShowWindow(Application.Handle,SW_HIDE); ShowWindow(Handle,SW_HIDE); end; end; procedure TRAY_OFF; begin Shell_NotifyIcon(NIM_DELETE,@NotifRec) then begin ShowWindow(Application.Handle,SW_SHOW); ShowWindow(Handle,SW_SHOW); end; end; deklarujesz najpierw takie cuś Procedure komunikaty(var Message: TMessage); message WM_MYNOTIFYMSG; a później Procedure komunikaty(var Message: TMessage); message WM_MYNOTIFYMSG; var rect: TPoint; begin if Message.WParam=IconID then case Message.lParam of WM_LBUTTONDBLCLK: //tutaj pokazujesz to co chcesz po dwukrotnym kliknieciu lewym przyciskiem WM_RBUTTONDOWN: //tutaj pokazujesz swoje menu begin SetForegroundWindow(Handle); GetCursor(rect); PopMenu.Popup(rect.x,rect.y); end; end; end;
jest to książkowy przykład, wiec mogłem zrobic gdzies literówke polecam CTRL+SPACE :)
Użytkownik nie podam edytował ten post 15 listopad 2005, 14:04
To jest kod na ukrycie i pokazanie okna.
Czy jest tutaj zawarta również ikona (nie w tray`u) tylko na pasku obok Zamknij, Minimalizuj...?
A propos TJvaCaptionButton, gdzie mogę go znależć?
To jest kod na ukrycie i pokazanie okna.
Czy jest tutaj zawarta również ikona (nie w tray`u) tylko na pasku obok Zamknij, Minimalizuj...?
A propos TJvaCaptionButton, gdzie mogę go znależć?
