Jump to content
GSForum - Segélyvonal

Tálcaikon (TrayIcon)


marcee5

Recommended Posts

marcee5

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.

Link to comment
Share on other sites

google

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.

Link to comment
Share on other sites

marcee5

És más nyelvben? Basic, C++, C#?

Link to comment
Share on other sites

google

Azt megmondom õszintén, nem tudom, de gyanítom, hogy igen.

Link to comment
Share on other sites

Menyus
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

Link to comment
Share on other sites

  • 1 year later...
nobilis
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... :lol::lol:

 

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.

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...