Home » Delphi » Component, Delphi, Free Downloads, Reader Request, Referensi, Sample Apps, Tips & Tricks » Membuat Popup Menu Saat Runtime Dengan Delphi

Membuat Popup Menu Saat Runtime Dengan Delphi

Print Friendly



Berikut tulisan singkat tentang cara membuat popup menu saat runtime, lewat kode, dengan Delphi. Saya menggunakan Delphi 2009 dalam contoh ini, tapi kode yang ada di sini dapat juga diimplementasikan dengan Delphi versi lainnya.

Kita mulai dengan sebuah aplikasi baru. Tambahkan sebuah TPanel ke form. Panel ini akan dipasangi popup menu nantinya.

Kini tambahkan unit Menus dan ShellAPI ke klausa uses. Unit menus berisi deklarasi class TPopupMenu dan TMenuItem, sedangkan unit ShellAPI berisi deklarasi dan implementasi fungsi ShellExecute yang akan kita gunakan nantinya.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ShellAPI, Menus;

Kemudian, deklarasikan sebuah TPopupMenu menu dan dua buah TMenuItem (silahkan tambahkan jika perlu). TMenuItem ini akan menjadi item-item menu yang dapat diklik.

type
  TForm3 = class(TForm)
    Panel1: TPanel;
  private
  public
    { Public declarations }
    pmMain: TPopupMenu;
    miAbout,
    miOpenWeb: TMenuItem;
  end;

Kini kita buat dua buah prosedur (sesuaikan dengan jumlah TMenuItem) sebagai method dari form:

type
  TForm3 = class(TForm)
    Panel1: TPanel;
  private
    procedure ShowAbout(Sender: TObject);
    procedure OpenWeb(Sender: TObject);
  public
    { Public declarations }
    pmMain: TPopupMenu;
    miAbout,
    miOpenWeb: TMenuItem;
  end;

Perlu diperhatikan bahwa kedua prosedur harus memiliki sebuah parameter yaitu Sender: TObject. Ini sesuai dengan tipe prosedur yang akan dijalankan saat TMenuItem diklik.

Lalu tekan Ctrl+Shift+C untuk menjalankan Code Completion. Code Completion ini akan membuat implementasi kedua prosedur di atas secara otomatis.

procedure TForm3.OpenWeb(Sender: TObject);
begin
  ShellExecute(Handle, 'open', 'http://www.cenadep.org', nil, nil, SW_SHOWNORMAL);
end;

procedure TForm3.ShowAbout(Sender: TObject);
begin
  MessageBox(handle, 'Find more like this on'#13'http://www.cenadep.org','About',MB_ICONINFORMATION or MB_OK);
end;

Jangan lupa, untuk memanggil fungsi ShellExecute() pada proesdur OpenWeb, Anda harus menyertakan unit ShellAPI pada klausa uses. Lihat kembali potongan kode pertama di atas.

Lanjut, saat form di-create, kita buat kode implementasi TPopupMenu dan TMenuItem tadi:

procedure TForm3.FormCreate(Sender: TObject);
begin
  pmMain := TPopupMenu.Create(Self);
  {implementasi TMenuItem:}
  miAbout := TMenuItem.Create(Self);
  miAbout.Caption := '&About...';
  miAbout.OnClick := ShowAbout;

  miOpenWeb := TMenuItem.Create(pmMain);
  miOpenWeb.Caption := '&Open Web';
  miOpenWeb.OnClick := OpenWeb;
  pmMain.Items.Add([miOpenWeb, miAbout]);
  {Pasangkan TPopupMenu sebagai popup menu pada Panel1}
  Panel1.PopupMenu := pmMain;
end;

Sudah jadi popup menu kita. Tinggal satu langkah lagi, membebaskan objek-objek TPopupMenu dan TMenuItem ini saat form di-destroy:

procedure TForm3.FormDestroy(Sender: TObject);
begin
  miAbout.Free;
  miOpenWeb.Free;
  pmMain.Free;
end;

Kini save project kita dan silahkan dijalankan.

 

Download:  

Download Source Code Contoh Program Membuat Popup Menu Saat Runtime Dengan Delphi (65.1 KiB)


Incoming search terms:

 

Comments

comments

Powered by Facebook Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>