1 / 18

PEMROGRAMAN API

-PERTEMUAN KEDUA-. PEMROGRAMAN API. Messages. Adalah cara dari Windows memberitahu program anda bahwa terjadi sesuatu inputan dan anda harus memprosesnya Messages dari form anda dikirimkan ketika user mengeklik button, menggerakkan mouse keatasnya, ataupun mengetikkan sesuatu.

bevis
Download Presentation

PEMROGRAMAN API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. -PERTEMUAN KEDUA- PEMROGRAMAN API

  2. Messages • Adalah cara dari Windows memberitahu program anda bahwa terjadi sesuatu inputan dan anda harus memprosesnya • Messages dari form anda dikirimkan ketika user mengeklik button, menggerakkan mouse keatasnya, ataupun mengetikkan sesuatu.

  3. Messages parameter • Semua Messages dikirimkan dengan empat buah parameter, yaitu • Window handle  adalah handle dari window dari message • message identifier  adalah tipe dari input (klik, mouse, dll)

  4. Messages parameter • Dua buah 32-bit (Long) values.  adalah informasi tambahan dari message. Misalnya koordinat mouse

  5. Messages behavior • Ketika message dikirimkan kepada user, mungkin user tidak akan melihatnya. • Sebab message ditangkap oleh VB • Dibaca, kemudian disampaikan kepada user dalam bentuk informasi yang penting-penting saja • Dan dalam bentuk yang lebih baik

  6. Messages behavior • Misal: ketika user menggerakkan mouse melewati sebuah form, maka Windows mengirim WM_MOUSEMOVE kepada window tersebut, • VB mengambil message tadi dan parameternya, kemudian mengeksekusi kode yang berada dalam event Button_MouseMove

  7. Messages behavior • Dalam prosesnya, VB mengubah nilai 32-bit kedua dari message (berisi koordinat x dan y dalam pixel, masing-masing 16-bit) menjadi dua type twips.

  8. Messages Return Value • Sekarang, misalnya anda membutuhkan koordinat pixel dari mouse. Padahal VB sudah mengkonversinya menjadi twips. Mau tidak mau anda harus mengubahnya kembali menjadi bentuk pixels. • Hal yang aneh, sebab windows memberikan apa yang anda butuhkan (pixel) namun VB mengubah “seenaknya” menjadi bentuk lain (twips)

  9. Messages Return Value • Pertanyaanya adalah  bisakah saya menghindari hal ini?. • Jawabnya adalah  SubClassing. • Namun jangan dilakukan bila tidak benar-benar penting, sebab menyusahkan dan juga melanggar konsep “safe programming” di VB

  10. SendMessage • Anda bisa mengirimkan pesan kepada window milik diri anda sendiri dengan menggunakan fungsi SendMessage or PostMessage • SendMessage Akan langsung menyebabkan window memproses message secepatnya

  11. PostMessage • Sedangkan PostMessage akan dimasukkan terlebih dahulu ke dalam message queue sesudah message lainnya sudah terproses • Anda harus menyebutkan window handle yang akan anda kirimi message (message identifier) • Bisa dilihat di VB API text Viewer

  12. Some Windows Specifics • Windows mengenali semua form, control, menu, menu item, atau apapun dengan melalui handle • Ketika aplikasi dijalankan, setiap control didalamnya terdapat handle yang kemudian digunakan untuk memisahkan button dari control-control selainnya • Bila ingin melakukan semua operasi dalam button melalui API, anda harus menggunakan handle ini

  13. Some Windows Specifics -2- • Darimana mendapatkannya? VB telah menyediakan property Hwnd untuk semua control yang mempunyai handle dalam windows • Windows berjalan dengan sistem pixel bukan sistem twips.

  14. Some Windows Specifics -3- • Rumus pengkonversi dari twips ke pixels. dan sebaliknya. • Menggunakan variabel TwipsPerPixelX dan TwipsPerPixelY: pixXValue = twipXValue \ Screen.TwipsPerPixelX pixYValue = twipYValue \ Screen.TwipsPerPixelY twipXValue = pixXValue * Screen.TwipsPerPixelX twipYValue = pixYValue * Screen.TwipsPerPixelY

  15. Some Windows Specifics -4- • Windows menggunakan sistem koordinat yang berbeda dalam function. Hati-hati • Syntax error pada bagian API call mungkin menyebabkan VB menjadi crash. Hati-hati!

  16. Some Windows Specifics -5- • VB tidak bisa mendebug API, bila program anda berjalan aneh ataupun crash, ceklah bagian pemanggila API pada kode anda. Misalnya kurang sintax  ByVal. Salah parameter, ataupun yang lainnya

  17. Where to get the funs descriptions from • Untuk mendapatkan penjelasan dari function-function API, gunakan SDK help file ataupun Microsoft SDK documentation • Beberapa dokumentasi disertakan langsung dalam bundel. Misalnya di Borland Delphi 3.0 atuapun MS Visual C++. • Carilah di Internet

  18. - QUESTION ? -

More Related