Selamat Datang Di Weblog http://delphiscript.blogspot.com, Mari Kita Belajar Bersama Tentang Blogging, dan Internet Marketing
"Dan di antara manusia (ada) orang yang mempergunakan perkataan yang tidak berguna untuk menyesatkan (manusia) dari jalan Allah tanpa pengetahuan dan menjadikan jalan Allah itu olok-olokan. Mereka itu akan memperoleh azab yang menghinakan" [Q.S Luqman : 6]

Membuat Tray Bar Icon Tanpa Komponen Pada Delphi

Kemaren temenku ngasih tahu aku eh bukan ngasih tahu tapi cuman dia ingin posting atu nyumbang artikelnya untuk diletakin diblog ini. Ya tentang tray bar icon ini, gimana cara bikinnya tanpa menggunakan komponen apapun yaitu dengan full coding.

Setelah aku baca kok menarik makanya aku posting aja ke blog ini supaya banyak yang bisa mengerti eh bisa tahu juga,sebelumnya memang aku pernah posting tentang tray bar icon, lihat artikel ini, tapi disitu kita menggunakan komponen bikinnanya pak Antony Pranata. Tapi bentar kalau masih belum donk tentang apa itu tray bar icon mending baca artikel ku dulu deh

Baik nggak usah basa-basi lagi, langsung aja langkah-langkahnya adalah sebagai berikut.

1. Pada form utama project, tambahkan sebuah komponen PopupMenu. PopupMenu ini untuk menuliskan menu-menu yang ada pada project tersebut yang apabila kita klik kanan pada iconnya, maka menu-menu tersebut akan tampil. Misalnya kita punya 2 menu yaitu exit dan show.

2. Pada event onCreate form tersebut ketikan code sbb.

with NotifyIconData do
begin
hIcon := Icon.Handle;
StrPCopy(szTip, Application.Title);
Wnd := Handle;
uCallbackMessage := WM_ICONTRAY;
uID := 1;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
cbSize := sizeof(TNotifyIconData);
end;
Shell_NotifyIcon(NIM_ADD, @NotifyIconData);

3. Pada bagian uses tambahkan ShellApi dan tambahkan code berikut setelah deklarasi uses :

const
WM_ICONTRAY = WM_USER + 1; // User-defined message

4. Buat prosedur icontray pada bagian private, sbb.

private { Private declarations }
procedure Icontray(var Msg: TMessage); message WM_ICONTRAY;

procedure Tform1.Icontray(var Msg: TMessage);var CursorPos : TPoint;
begin
if Msg.lParam = WM_RBUTTONDOWN then
begin GetCursorPos(CursorPos);
SetForegroundWindow(Handle); // suggested by Berend Radstaat
PopupMenu1.Popup(CursorPos.x, CursorPos.y);
PostMessage(Handle, WM_NULL, 0, 0); // suggested by Berend Radstaat
end
else
inherited;
end;

5. Tambahkan variable NotifyIconData: TNotifyIconData; pada bagian deklarasi variable.

6. Pada event OnCLose form, ketikkan code berikut.

Action := caNone;
Hide;
Shell_NotifyIcon(NIM_ADD, @NotifyIconData);

7. Pada menu exit event OnCLick ketikkan code berikut.

Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);
Application.ProcessMessages;
Application.Terminate;

8. Pada menu show event OnCLick ketikkan code berikut, agar ketika diklik menu show akan menampilkan form utama tersebut.

Show;
Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);





Artikel yang berhubungan..