Bagikan melalui


Fungsi OleTranslateAccelerator (ole2.h)

Dipanggil oleh aplikasi objek, memungkinkan kontainer objek untuk menerjemahkan akselerator sesuai dengan tabel akselerator kontainer.

Sintaks

HRESULT OleTranslateAccelerator(
  [in] LPOLEINPLACEFRAME     lpFrame,
  [in] LPOLEINPLACEFRAMEINFO lpFrameInfo,
  [in] LPMSG                 lpmsg
);

Parameter

[in] lpFrame

Arahkan ke antarmuka IOleInPlaceFrame tempat penekanan tombol mungkin dikirim.

[in] lpFrameInfo

Pointer ke struktur OLEINPLACEFRAMEINFO yang berisi tabel akselerator yang diperoleh dari kontainer.

[in] lpmsg

Arahkan ke struktur MSG yang berisi penekanan tombol.

Nilai kembali

Fungsi ini mengembalikan S_OK pada keberhasilan. Nilai lain yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
E_FAIL
Objek harus terus memproses pesan ini.

Keterangan

Server objek memanggil OleTranslateAccelerator untuk memungkinkan kontainer objek menerjemahkan penekanan tombol akselerator sesuai dengan tabel akselerator kontainer, yang ditunjukkan oleh lpFrameInfo. Meskipun objek yang terkandung adalah objek aktif, server objek selalu memiliki peluang pertama untuk menerjemahkan pesan apa pun yang diterima. Jika ini tidak diinginkan, server memanggil OleTranslateAccelerator untuk memberi kontainer objek kesempatan. Jika input keyboard cocok dengan akselerator yang ditemukan dalam tabel akselerator yang disediakan kontainer, OleTranslateAccelerator meneruskan pesan dan pengidentifikasi perintahnya ke kontainer melalui metode IOleInPlaceFrame::TranslateAccelerator . Metode ini mengembalikan S_OK jika penekanan tombol dikonsumsi; jika tidak, ia mengembalikan S_FALSE.

Tabel akselerator untuk kontainer harus didefinisikan sehingga mereka akan bekerja dengan baik dengan aplikasi objek yang melakukan terjemahan penekanan kunci akselerator mereka sendiri. Tabel ini harus mengambil formulir:

"char", wID, VIRTKEY, CONTROL

Ini adalah cara paling umum untuk menggambarkan akselerator keyboard. Kegagalan untuk melakukannya dapat mengakibatkan penekanan tombol hilang atau dikirim ke objek yang salah selama sesi di tempat.

Objek dapat memanggil fungsi IsAccelerator untuk melihat apakah penekanan tombol akselerator milik objek atau kontainer.

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 ole2.h
Pustaka Ole32.lib
DLL Ole32.dll
Set API ext-ms-win-com-ole32-l1-1-3 (diperkenalkan dalam Windows 10, versi 10.0.10240)

Lihat juga

IOleInPlaceFrame::TranslateAccelerator

IsAccelerator