Contoh Penggunaan WM_NCHITTEST Di Delphi
| July 24, 2012 | Posted by Rivalina under Component, Delphi, Reader Request, Sample Apps, Tips & Tricks |
Pertama, buat sebuah prosedur baru di bagian private pada deklarasi form:
procedure OnWMHitTest(var msg: TWMNCHitTest); message WM_NCHITTEST;
sehingga kode menjadi seperti ini:
type
TForm3 = class(TForm)
private
{ Private declarations }
procedure OnWMHitTest(var msg: TWMNCHitTest); message WM_NCHITTEST;
public
{ Public declarations }
end;
Prosedur di atas akan menjadi event handler apabila ada message WM_NCHITTEST yang datang dari Windows. Yang perlu kita lakukan adalah memeriksa variabel msg.Result. Bila nilai msg.Result = htClient (kejadian dengan mouse berada dalam form), kita ubah nilainya menjadi htCaption (mouse berada di caption form), walaupun form tidak memiliki caption karena border style adalah bsNone.
Sebelumnya, jangan lupa beri inherited agar default message processing dapat berjalan.
Selanjutnya tekan [Ctrl+Shift+C] untuk membuat implenetasi prosedur di atas:
procedure TForm3.OnWMHitTest(var msg: TWMNCHitTest); begin inherited; if msg.Result = HTCLIENT then msg.Result := HTCAPTION; end;
Nah, coba jalankan aplikasi kita. Cek apakah Anda dapat melakukan drag form meskipun bukan lewat Captionnya.
Contoh Penggunaan Message WM_NCHITTEST untuk melakukan drag form tanpa lewat caption. (0.0 B)
Comments
Powered by Facebook Comments









This is the default footer layout. You can easily add or remove columns in the footer.