Skip to main content

Menyembunyikan form di system tray dengan delphi XE

Bagaimana caranya menyembunyikan form delphi ke dalam system tray?

Waktu itu saya pernah membuat sebuah aplikasi semacam task scheduler yang dapat memproses dan mengirimkan semua email notifikasi ke setiap user yang bersangkutan.

Semacam aplikasi sms server lah namun kalau sms server yang dikirim adalah sms melalui server, nah yang saya buat ini yang dikirim adalah email.

Apa sih tujuan dibuatnya aplikasi semacam itu?

Kalau misalnya kamu bekerja di sebuah perusahaan yang tidak memiliki tenaga ahli dibidang IT, maka terkadang untuk melakukan tugas-tugas yang simple dan sepele seperti mengirimkan email notifikasi seperti ini saja bisa jadi akan dibutuhkan yang namanya tenaga kerja administrasi tambahan.

Sudah pasti perusahaan tidak akan suka dengan hal tersebut karena menambah tenaga kerja, sama saja dengan menambah biaya pengeluaran perusahaan. Benar ngga?

Padahal sebenarnya hal tersebut bisa dilakukan dengan sistem aplikasi yang telah dibuat sedemikian rupa sesuai dengan kebutuhan perusahaan yang bersangkutan, atau bisa saja menggunakan aplikasi semacam visualcron yang dapat anda download untuk menjalankan task yang anda inginkan, agar dapat mengurangi biaya pengeluaran perusahaan.


Nantikan saja artikel mengenai cara mengirimkan email dengan delphi di artikel berikutnya.

 

Menyembunyikan form delphi ke dalam system tray

Buka IDE Delphi XE kamu, kemudian buatlah sebuah project baru. Hanya 1 form yang akan kita butuhkan disini. Tempatkan 2 buah button ke dalamnya dan atur properties kedua button tersebut menjadi seperti berikut ini.
Button 1

Caption: Hide to system tray, Name: BtnHide

Button 2

Caption: Esc - Close, Name: BtnClose

 

Tempat kan sebuah TTrayIcon, TImageList dan TTimer ke dalam form dan atur properties dari masing-masing control tersebut menjadi seperti berikut ini.
TTrayIcon

Name: TrayIcon1

TImageList

Name: ImageList1

TTimer

Name: Timer1

Interval: 2000

Enabled: False

Tambahkan sebuah icon ke dalam ImageList. Disini saya menggunakan icon bergambar amplop biru dan bernama mail.ico, silahkan jika anda ingin menggantinya dengan icon kesukaan anda.

Kira-kira nanti bentuk form1 nya akan menjadi seperti gambar berikut ini :

layout-delphi-system-tray.png

 

Full source code :

[code language="delphi"]

unit Unit5;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ImgList, Vcl.ExtCtrls;

type
TMAIN_FRM = class(TForm)
TrayIcon1: TTrayIcon;
ImageList1: TImageList;
BtnHide: TButton;
BtnClose: TButton;
Timer1: TTimer;
procedure BtnHideClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormResize(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TrayIcon1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MAIN_FRM: TMAIN_FRM;
FRMStatus: Integer;

implementation

{$R *.dfm}

procedure TMAIN_FRM.BtnCloseClick(Sender: TObject);
begin
application.Terminate;
end;

procedure TMAIN_FRM.BtnHideClick(Sender: TObject);
begin
Self.WindowState:=wsMinimized;
end;

procedure TMAIN_FRM.FormCreate(Sender: TObject);
var
MyIcon : TIcon;

begin
//Application.OnMinimize:=OnMinimize;
TrayIcon1.Icons := TImageList.Create(Self);
MyIcon := TIcon.Create;
MyIcon.LoadFromFile('mail.ico');
TrayIcon1.Icon.Assign(MyIcon);
TrayIcon1.Icons.AddIcon(MyIcon);
FRMStatus:=1;
end;

procedure TMAIN_FRM.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #27 then application.Terminate;
end;

procedure TMAIN_FRM.FormResize(Sender: TObject);
begin
if MAIN_FRM.windowstate = wsMinimized then
begin
MAIN_FRM.Hide();
TrayIcon1.Visible := True;
TrayIcon1.BalloonHint := 'Your apps - Now hidding in system tray !';
TrayIcon1.BalloonFlags := bfInfo;
TrayIcon1.ShowBalloonHint;
FRMStatus:=2;
end;
end;

procedure TMAIN_FRM.FormShow(Sender: TObject);
begin
if FRMStatus = 1 then
Begin
Timer1.Enabled:=True;
End;
end;

procedure TMAIN_FRM.Timer1Timer(Sender: TObject);
begin
MAIN_FRM.WindowState:=wsMinimized;
Timer1.Enabled:=False;
end;

procedure TMAIN_FRM.TrayIcon1Click(Sender: TObject);
begin
TrayIcon1.Visible := False;
Show();
WindowState := wsNormal;
Application.BringToFront();
FRMStatus:=1;
end;

end.

[/code]

 

Selamat mencoba dan semoga bermanfaat buat kalian :)

Tonton video tutorialnya disini dan anda tentu saja dapat menemukan link download full source codenya dari sana.

https://www.youtube.com/watch?v=13Uy1RaN9vI

Comments

Popular posts from this blog

Tips Jitu Cara Mengatasi Error Pada Saat Compile Aplikasi Menggunakan Visual Basic 6

Sebenarnya ada banyak sekali nih project yang harus saya kerjakan dikantor. Namun terkadang apa yang kita rencanakan sering kali berbeda dengan kenyataan. Maksud hati ingin focus dulu ke satu project, tapi karena adanya satu dan lain hal, akhirnya terpaksa deh harus melakukan modifikasi dan membuka project lama yang sebenarnya saya sudah malas untuk berhubungan lagi dengannya :) Project ini sudah dibangun dari awal tahun 2000-an, jauh sebelum saya join. Ya intinya saya dapat warisannya lah seperti itu. Di bangun masih dengan menggunakan vb5-vb6 waktu itu. Sekarang sudah tahun 2016. Jadi sudah lama ya sob. Sudah ketinggalan jaman lah kurang lebih. Meskipun sudah tua, tapi menurut saya visual basic tetap menjadi bahasa pemrograman yang masih powerful. Masalah Kompatibilitas Nah masalah terbesar dalam menggunakan program-program lawas seperti itu biasanya ada pada kompatibilitas component-componentnya. Karena hardware dan os yang kita gunakan biasanya akan berubah seiring waktu. Jika soba...

Cara mudah membuat gambar animasi bergerak

Inspirasi itu memang kadang bisa datang tiba-tiba tanpa mengenal waktu, tempat dan dari mana kamu mendapatkannya, bener ngga sob ? Contohnya tadi siang pas kebetulan lagi makan tiba-tiba sahabat nelpon dan menanyakan bagaimana caranya bikin banner. Mau ngejelasin caranya lewat telpon sepertinya terlalu panjang deh jelasinnya. Yang ada nanti malah ngga jadi makan. Yo wis diposting aja ke blog. Biar ilmunya bisa dinikmati oleh banyak orang dan pahala saya bertambah. Aamiin. Sebelumnya saya sudah pernah sharing mengenai cara mudah membuat logo . Kali ini saya juga akan sharing bagaimana caranya membuat sebuah gambar animasi bergerak yang bisa kamu jadikan sebagai banner atau iklan di website kamu. Buat kamu yang hobby gonta-ganti dp bbm, cara ini juga bisa kamu gunakan untuk membuat gambar animasi yang lucu dan menarik. Tipe file gambar yang biasanya digunakan untuk membuat gambar animasi bergerak adalah Graphics Interchange Format ( GIF ) yang merupakan format grafis yang paling sering ...

Cara Mengedit Gambar Dengan Aplikasi Paint

Buat kamu para pengguna windows pasti tahu atau minimal pernah melihat bahwa di komputer kamu terdapat aplikasi yang bernama Paint. Aplikasi paint ini biasanya akan kamu temukan dibagian accessories. Namun pernahkah kamu menggunakan aplikasi tersebut ? Tahukah kamu bahwa aplikasi editing gambar yang sederhana tersebut sebenarnya cukup handal, ringan dan praktis untuk digunakan? https://www.youtube.com/watch?v=jUzR-EiLrJM Meskipun tingkat kehandalannya tentu tidak dapat dibandingkan dengan aplikasi editing gambar yang lebih canggih seperti Adobe Photoshop, Lightroom, Corel Draw, Picasa dan lain-lain, namun dengan menggunakan aplikasi paint ini rasanya sudah cukup apabila anda hanya ingin sekedar melakukan proses editing gambar yang sederhana. Tertarik untuk mencoba dan mengetahui hal-hal apa saja yang dapat anda lakukan dengan aplikasi paint ? Silahkan buka aplikasi paint anda kemudian simak saja caranya... Cropping Teknik cropping biasanya digunakan apabila anda ingin mengambil bagian-...