Bagikan melalui


Metode IOleInPlaceObjectWindowless::OnWindowMessage (ocidl.h)

Mengirim pesan dari kontainer ke objek tanpa jendela yang aktif di tempat.

Sintaks

HRESULT OnWindowMessage(
  [in]  UINT    msg,
  [in]  WPARAM  wParam,
  [in]  LPARAM  lParam,
  [out] LRESULT *plResult
);

Parameter

[in] msg

Pengidentifikasi untuk pesan jendela yang disediakan untuk kontainer oleh Windows.

[in] wParam

Parameter untuk pesan jendela yang disediakan untuk kontainer oleh Windows.

[in] lParam

Parameter untuk pesan jendela yang disediakan untuk kontainer oleh Windows.

[out] plResult

Penunjuk ke kode hasil untuk pesan jendela.

Nilai kembali

Metode ini mengembalikan S_OK pada keberhasilan. Kemungkinan nilai pengembalian lainnya termasuk yang berikut ini.

Menampilkan kode Deskripsi
S_FALSE
Objek tanpa jendela tidak memproses pesan jendela. Kontainer harus memanggil DefWindowProc untuk pesan atau memproses pesan itu sendiri seperti yang dijelaskan di bawah ini.

Keterangan

Kontainer memanggil metode ini untuk mengirim pesan jendela ke objek tanpa jendela yang aktif di tempat. Kontainer harus mengirimkan pesan sesuai dengan panduan berikut:

Untuk pesan berikut, kontainer harus terlebih dahulu mengirimkan pesan ke objek tanpa jendela yang telah menangkap mouse, jika ada. Jika tidak, kontainer harus mengirimkan pesan ke objek tanpa jendela di bawah kursor mouse. Jika tidak ada objek seperti itu, kontainer bebas memproses pesan berikut untuk dirinya sendiri:

  • WM_MOUSEMOVE
  • WM_SETCURSOR
  • WM_XBUTTONDOWN
  • WM_XBUTTONUP
  • WM_XBUTTONDBLCLK
Kontainer harus mengirimkan pesan ke objek tanpa jendela dengan fokus keyboard untuk pesan berikut:
  • WM_CANCELMODE
  • WM_CHAR
  • WM_DEADCHAR
  • WM_HELP
  • WM_IMExxx
  • WM_KEYDOWN
  • WM_KEYUP
  • WM_SYSDEADCHAR
  • WM_SYSKEYDOWN
  • WM_SYSKEYUP
Untuk semua pesan lainnya, kontainer harus memproses pesan sendiri.

Objek tanpa jendela dapat mengembalikan S_FALSE ke metode ini untuk menunjukkan bahwa objek tidak memproses pesan. Kemudian, kontainer melakukan perilaku default untuk pesan dengan memanggil fungsi DefWindowProc , atau memproses pesan itu sendiri.

Kontainer harus meneruskan pesan jendela berikut ke prosedur jendela default:

  • WM_CHAR
  • WM_DEADCHAR
  • WM_IMExxx
  • WM_KEYDOWN
  • WM_KEYUP
  • WM_MOUSEMOVE
  • WM_SYSCHAR
  • WM_SYSDEADCHAR
  • WM_SYSKEYUP
  • WM_XBUTTONDOWN
  • WM_XBUTTONUP
  • WM_XBUTTONDBLCLK
Kontainer harus memproses pesan jendela berikut sebagai miliknya:
  • WM_CONTEXTMENU
  • WM_HELP
  • WM_SETCURSOR
Catatan Untuk WM_SETCURSOR, kontainer dapat mengatur kursor itu sendiri atau tidak melakukan apa-apa.
 
Objek juga dapat menggunakan IOleInPlaceSiteWindowless::OnDefWindowMessage untuk secara eksplisit memanggil pemrosesan pesan default dari kontainer. Dalam kasus pesan WM_SETCURSOR, ini memungkinkan objek untuk mengambil tindakan jika kontainer tidak mengatur kursor.

Semua koordinat yang diteruskan ke objek di wParam dan lParam ditentukan sebagai koordinat klien dari jendela yang berisi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header ocidl.h

Lihat juga