Jump to content
GSForum - Segélyvonal

Tálcaikon (TrayIcon)


Recommended Posts

Posted

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.

Posted

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.

Posted

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

Posted

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

Posted
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

  • 1 year later...
Posted
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.

 

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...