Metode IOleInPlaceFrame::TranslateAccelerator (oleidl.h)
Menerjemahkan penekanan tombol akselerator yang ditujukan untuk bingkai kontainer saat objek aktif di tempatnya.
Sintaks
HRESULT TranslateAccelerator(
[in] LPMSG lpmsg,
[in] WORD wID
);
Parameter
[in] lpmsg
Penunjuk ke struktur MSG yang berisi pesan penekanan tombol.
[in] wID
Nilai pengidentifikasi perintah yang sesuai dengan penekanan tombol dalam tabel akselerator yang disediakan kontainer. Kontainer harus menggunakan nilai ini alih-alih menerjemahkan lagi.
Menampilkan nilai
Metode ini mengembalikan S_OK pada keberhasilan. Nilai pengembalian lain yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Penekanan tombol tidak digunakan. |
|
Penunjuk yang ditentukan tidak valid. |
|
Terjadi kesalahan tak terduga. |
Keterangan
Catatan untuk Penelepon
Metode IOleInPlaceFrame::TranslateAccelerator dipanggil secara tidak langsung oleh OleTranslateAccelerator ketika keystroke accelerator yang ditujukan untuk kontainer (bingkai) diterima.Catatan untuk Pelaksana
Aplikasi kontainer harus melakukan pemrosesan akselerator yang biasa, atau menggunakan wID secara langsung, dan kemudian mengembalikan, menunjukkan apakah akselerator penekanan tombol diproses. Jika kontainer adalah aplikasi MDI dan fungsi TranslateAccelerator gagal, kontainer dapat memanggil fungsi TranslateMDISysAccel , seperti halnya untuk pemrosesan pesan biasa.Objek di tempat harus diberikan kesempatan pertama untuk menerjemahkan pesan akselerator. Namun, karena objek yang diimplementasikan oleh aplikasi objek DLL tidak memiliki pompa pesan mereka sendiri, mereka menerima pesan mereka dari antrean pesan kontainer. Untuk memastikan bahwa objek memiliki kesempatan pertama untuk menerjemahkan pesan, kontainer harus selalu memanggil IOleInPlaceFrame::TranslateAccelerator sebelum melakukan terjemahan akseleratornya sendiri. Sebaliknya, aplikasi objek yang dapat dieksekusi harus memanggil OleTranslateAccelerator setelah memanggil TranslateAccelerator, memanggil TranslateMessage dan DispatchMessage hanya jika kedua fungsi terjemahan gagal.
Anda harus menentukan tabel akselerator untuk kontainer sehingga mereka akan bekerja dengan baik dengan aplikasi objek yang melakukan terjemahan penekanan kunci akselerator mereka sendiri. Tabel harus didefinisikan sebagai berikut.
"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.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | oleidl.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk