Friday, December 18, 2009

Disable Menu dan Tombol Close

Sebuah form biasanya mempunyai tiga tombol yang terletak pada bagian title bar, yaitu tombol maximize, minimize, close.

Untuk Dengan tips di bawah ini Anda dapat mendisable tombol/menu close.

procedure TForm1.FormCreate(Sender: TObject);

var

hMenuHandle : HMENU;

begin

hMenuHandle := GetSystemMenu(Form1.Handle, FALSE);

if (hMenuHandle <> 0) then DeleteMenu(hMenuHandle,

SC_CLOSE, MF_BYCOMMAND);

end;

Langkah pertama adalah mencari handle dari window menu (atau System menu atau Control menu), caranya yaitu dengan menggunakan fungsi GetSystemMenu.

function GetSystemMenu (hWnd : HWND, bRevert : Boolean) : HMENU;

Parameter pertama dari fungsi GetSystemMenu adalah handle dari window atau form. Dalam contoh ini nama formnya adalah Form1.
Parameter kedua adalah bRevert. Jika nilai bRevert bernilai True maka nilai balik dari fungsi GetSystemMenu adalah NULL, sebaliknya jika bRevert bernilai False maka nilai baliknya adalah handle dari copy dari window menu.

Langkah selanjutnya adalah “menghapus” item pada window menu dengan menggunakan fungsi DeleteMenu.

function DeleteMenu (hMenu : HMENU, uPosition : integer, uFlags : integer): Boolean

Parameter pertama adalah handle dari window menu (yang merupakan hasil pencarian dengan fungsi GetSystemMenu).
Parameter kedua merupakan posisi atau pengenal menu. Jika Anda mengisi parameter ketiga dengan MF_BYCOMMAND maka parameter kedua dapat bernilai SC_CLOSE, SC_MOVE, dan SC_SIZE. Sebaliknya jika Anda mengisi parameter ketiga dengan MF_BYPOSITION maka Anda dapat mengisi parameter kedua dengan suatu nilai integer yang merepresentasikan menu Close.

Fungsi DeleteMenu akan mengembalikan nilai True jika penghapusan menu berhasil dan mengembalikan nilai False jika gagal.
Kedua perintah di bawah ini akan mendapatkan hasil yang sama:

DeleteMenu(hMenuHandle, 6, MF_BYPOSITION);

DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND)

Referensi http://www.klik-kanan.com

0 komentar:

Post a Comment

Langganan Via E-mail

Berbagi Inspirasi Tentang Komputer

Free Submit Your Site

Free Submit Your Site
Submit Your Site To The Web's Top 50 Search Engines for Free!

Add a Link To SonicRun.com

Add a Link To SonicRun.com
Add a Link To SonicRun.com

Tantangan50 Juta

Tantangan50 Juta
blakblakan.com