marcee5 Posted June 4, 2005 Posted June 4, 2005 Szeretnék a programomhoz Tálcaikont készíteni és rákantintáskor jöjjön elõ egy pop-up menü. Próbálkoztam sokszor, de nem találok se parancsot, se ilyen segédkomponenst. Középhaladó vagyok a Delphiben. elõre is köszi.
google Posted June 5, 2005 Posted June 5, 2005 Ez elég gáz, mert állítólag Windows-apikat kell meghívni hozzá. Szóval nem egyszerû feladat. Egy komponenssel nem lehet megoldani.
google Posted June 5, 2005 Posted June 5, 2005 Azt megmondom õszintén, nem tudom, de gyanítom, hogy igen.
arpsoft Posted June 5, 2005 Posted June 5, 2005 Itt van egy free vcl hozzá. Van itt egyébként még egyéb sokminden más is: http://www.delphi32.com/vcl/630/
Menyus Posted June 5, 2005 Posted June 5, 2005 Ez elég gáz, mert állítólag Windows-apikat kell meghívni hozzá. Szóval nem egyszerû feladat. Egy komponenssel nem lehet megoldani. Sziasztok, A probléma megoldása pofonegyszerû, mind a Torry -n lehet találni 600 ilyen komponenst, mind van ilyen az általam kedvelt RxLib-ben, és van a Jedi komponenscsomagban is. Menyus
nobilis Posted March 14, 2007 Posted March 14, 2007 Szeretnék a programomhoz Tálcaikont készíteni és rákantintáskor jöjjön elõ egy pop-up menü. Próbálkoztam sokszor, de nem találok se parancsot, se ilyen segédkomponenst. Középhaladó vagyok a Delphiben. elõre is köszi. NA IDE IS BEKERÜL A SZORSZ... unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI, Menus; type TForm1 = class(TForm) PopupMenu1: TPopupMenu; item11: TMenuItem; item21: TMenuItem; item31: TMenuItem; item41: TMenuItem; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private TrayIcon: TNotifyIconData; procedure WndProc(var Msg: TMessage); override; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.WndProc(var Msg: TMessage); var p : TPoint; begin case Msg.Msg of WM_USER + 1 : //az üzenet azonosítója case Msg.LParam of WM_RBUTTONDOWN : //kattintás az egér jobb gombjával begin GetCursorPos(p); //a kurzor pozíciója a kattintáskor PopupMenu1.Popup(p.x,p.y); //a menü kinyitása end; WM_LBUTTONDBLCLK : //bal dupla-kattintás begin Form1.Show; end; WM_LBUTTONDOWN : //kattintás az egér bal gombjával; end; end; inherited; //a le nem kezelt üzenetek elintéztetése end; procedure TForm1.FormCreate(Sender: TObject); begin with TrayIcon do begin cbSize := SizeOf(TrayIcon); Wnd := Handle; {A FõForm Handle-je } uId := 100; uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE; uCallBackMessage := WM_USER + 1;{A Formnak küldött üzenet azonosítója} hIcon := Application.Icon.Handle; {A megjelenítendõ ikon Handle-je} szTip := 'Az ikonhoz tartozó tipp...'; {Az ikonhoz tartozó tipp} end; Shell_NotifyIcon(NIM_ADD, @TrayIcon); {A függvény meghívása} end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Shell_NotifyIcon(NIM_DELETE, @TrayIcon); end; end.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now