Mungkin Yang Anda Cari Ada di Sini

Sabtu, 02 Oktober 2010

Mendisable menu dan tombol Close

oleh Setiaji


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)


back to tutorial delphi home....

Tidak ada komentar:

Posting Komentar

Subscribe via email

Enter your email address:

Delivered by FeedBurner

Related Posts Plugin for WordPress, Blogger...
web metrics