Fungsi TranslateAcceleratorW (winuser.h)
Memproses kunci akselerator untuk perintah menu. Fungsi ini menerjemahkan pesan WM_KEYDOWN atau WM_SYSKEYDOWN ke pesan WM_COMMAND atau WM_SYSCOMMAND (jika ada entri untuk kunci dalam tabel akselerator yang ditentukan) lalu mengirim pesan WM_COMMAND atau WM_SYSCOMMAND langsung ke prosedur jendela yang ditentukan. TranslateAccelerator tidak kembali hingga prosedur jendela memproses pesan.
int TranslateAcceleratorW(
[in] HWND hWnd,
[in] HACCEL hAccTable,
[in] LPMSG lpMsg
);
[in] hWnd
Jenis: HWND
Handel ke jendela yang pesannya akan diterjemahkan.
[in] hAccTable
Jenis: haccel
Handel ke tabel akselerator. Tabel akselerator harus dimuat oleh panggilan ke fungsi
[in] lpMsg
Jenis: LPMSG
Penunjuk ke struktur MSG
Jenis: int
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Untuk membedakan pesan yang dikirim fungsi ini dari pesan yang dikirim oleh menu atau kontrol, kata urutan tinggi dari parameter
Kombinasi kunci akselerator yang digunakan untuk memilih item dari jendela menu diterjemahkan ke dalam pesan WM_SYSCOMMAND; semua kombinasi kunci akselerator lainnya diterjemahkan ke dalam pesan WM_COMMAND.
Ketika
Akselerator tidak perlu sesuai dengan perintah menu.
Jika perintah akselerator sesuai dengan item menu, aplikasi dikirim WM_INITMENU dan WM_INITMENUPOPUP pesan, seolah-olah pengguna mencoba menampilkan menu. Namun, pesan-pesan ini tidak dikirim jika ada salah satu kondisi berikut:
- Jendela dinonaktifkan.
- Kombinasi kunci akselerator tidak sesuai dengan item pada jendela menu dan jendela diminimalkan.
- Penangkapan mouse berlaku. Untuk informasi tentang penangkapan mouse, lihat fungsi SetCapture
.
Jika terjadi penekanan tombol akselerator yang sesuai dengan item menu saat jendela pemilik menu diminimalkan, TranslateAccelerator tidak mengirim pesan WM_COMMAND. Namun, jika terjadi penekanan tombol akselerator yang tidak cocok dengan item apa pun di menu jendela atau di menu jendela
Misalnya, lihat Membuat Akselerator untuk Atribut Font.
Catatan
Header winuser.h mendefinisikan TranslateAccelerator sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winuser.h (termasuk Windows.h) |
Pustaka |
User32.lib |
DLL |
User32.dll |
- CreateAcceleratorTable
- GetMessage
-
Keyboard Accelerators -
LoadAccelerators - MSG
- PeekMessage
- SetCapture
- translateMessage
- WM_COMMAND
- WM_INITMENU
- WM_INITMENUPOPUP
- WM_KEYDOWN
- WM_SYSCOMMAND
- WM_SYSKEYDOWN
- Input Keyboard