pemrograman api

18
-PERTEMUAN KEDUA-

Upload: bevis

Post on 19-Mar-2016

86 views

Category:

Documents


3 download

DESCRIPTION

-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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PEMROGRAMAN API

-PERTEMUAN KEDUA-

Page 2: 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.

Page 3: PEMROGRAMAN API

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)

Page 4: PEMROGRAMAN API

Messages parameter

Dua buah 32-bit (Long) values. adalah informasi tambahan dari message. Misalnya koordinat mouse

Page 5: PEMROGRAMAN API

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

Page 6: PEMROGRAMAN API

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

Page 7: PEMROGRAMAN API

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.

Page 8: PEMROGRAMAN API

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)

Page 9: PEMROGRAMAN API

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

Page 10: PEMROGRAMAN API

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

Page 11: PEMROGRAMAN API

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

Page 12: PEMROGRAMAN API

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

Page 13: PEMROGRAMAN API

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.

Page 14: PEMROGRAMAN API

Some Windows Specifics -3- Rumus pengkonversi dari twips ke pixels.

dan sebaliknya. Menggunakan variabel TwipsPerPixelX

dan TwipsPerPixelY:

pixXValue = twipXValue \ Screen.TwipsPerPixelXpixYValue = twipYValue \ Screen.TwipsPerPixelY

twipXValue = pixXValue * Screen.TwipsPerPixelXtwipYValue = pixYValue * Screen.TwipsPerPixelY

Page 15: PEMROGRAMAN API

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!

Page 16: PEMROGRAMAN API

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

Page 17: PEMROGRAMAN API

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

Page 18: PEMROGRAMAN API