Pertemuan 6
Hampir semua yang dapat dilakukan pada VB dapat dilakukukan dengan menggunakan window message Untuk mengirim window message SendMessage PostMessage
Setiap windows memiliki sebuah (satu dan hanya satu) fungsi (WndProc) yang akan memberikan respon dari semua Message yang dikirim Subclassing adalah kegiatan mengganti respon (pekerjaan) yang seharusnya dilakukan oleh windows (function WndProc), sesuai message yang dikirim
Setiap window mempunyai procedure khusus Dinamai window procedure Function ini mengirimkan pesan setiap terjadi event di window anda Message tersebut (WM_COMMAND) dikirimkan ketika menu item dihighlight
Mengapa kita tidak melihat pesan ini? Karena VBlah yang membuat window procedure, bukan kita Ketika Windows mengirim message, procedure ini men-dispacth-nya ke beberapa event tertentu dan menconvert parameternya ke dalam bentuk yang lebih mudah.
Akan tetapi di beberapa kasus, procedure ini mengabaikan beberapa message Sehingga kita tidak menerima input yang sesungguhnya Jika anda benar-benar membutuhkan message ini, anda harus melakukan subclass terhadap window anda
Anda menginginkan sesuatu yang lebih, VB tidak memberikan sesuai dengan harapan anda atau anda ingin mengetahui sesuatu yang lebih terhadap window, anda dapat melakukan subclassing.
Subclassing mengganti active window procedure dengan yang baru Procedure ini akan menerima semua message yang datang sebelum procedure yang lama Procedure yang lama masih ada Procedure yang lama dipanggil dalam procedure yang baru
Contoh: Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long ) As Long