Kelas CHotKeyCtrl
Menyediakan fungsionalitas kontrol kunci panas umum Windows.
Sintaks
class CHotKeyCtrl : public CWnd
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CHotKeyCtrl::CHotKeyCtrl | Membuat CHotKeyCtrl objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CHotKeyCtrl::Create | Membuat kontrol kunci panas dan melampirkannya ke CHotKeyCtrl objek. |
CHotKeyCtrl::CreateEx | Membuat kontrol kunci panas dengan gaya perluasan Windows yang ditentukan dan melampirkannya ke CHotKeyCtrl objek. |
CHotKeyCtrl::GetHotKey | Mengambil kode kunci virtual dan bendera pengubah kunci panas dari kontrol kunci panas. |
CHotKeyCtrl::GetHotKeyName | Mengambil nama kunci, dalam set karakter lokal, yang ditetapkan ke hot key. |
CHotKeyCtrl::GetKeyName | Mengambil nama kunci, dalam set karakter lokal, yang ditetapkan ke kode kunci virtual yang ditentukan. |
CHotKeyCtrl::SetHotKey | Mengatur kombinasi tombol panas untuk kontrol tombol panas. |
CHotKeyCtrl::SetRules | Menentukan kombinasi yang tidak valid dan kombinasi pengubah default untuk kontrol tombol panas. |
Keterangan
"Kontrol kunci panas" adalah jendela yang memungkinkan pengguna untuk membuat kunci panas. "Tombol panas" adalah kombinasi kunci yang dapat ditekan pengguna untuk melakukan tindakan dengan cepat. (Misalnya, pengguna dapat membuat hot key yang mengaktifkan jendela tertentu dan membawanya ke bagian atas urutan Z.) Kontrol hot key menampilkan pilihan pengguna dan memastikan bahwa pengguna memilih kombinasi kunci yang valid.
Kontrol ini (dan oleh karena itu CHotKeyCtrl
kelas) hanya tersedia untuk program yang berjalan di bawah Windows 95/98 dan Windows NT versi 3.51 dan yang lebih baru.
Ketika pengguna telah memilih kombinasi kunci, aplikasi dapat mengambil kombinasi kunci yang ditentukan dari kontrol dan menggunakan pesan WM_SETHOTKEY untuk menyiapkan kunci panas dalam sistem. Setiap kali pengguna menekan tombol panas setelahnya, dari bagian mana pun dari sistem, jendela yang ditentukan dalam pesan WM_SETHOTKEY menerima pesan WM_SYSCOMMAND yang menentukan SC_HOTKEY. Pesan ini mengaktifkan jendela yang menerimanya. Hot key tetap valid sampai aplikasi yang disebut WM_SETHOTKEY keluar.
Mekanisme ini berbeda dari dukungan hot key yang bergantung pada pesan WM_HOTKEY dan fungsi Windows RegisterHotKey dan UnregisterHotKey .
Untuk informasi selengkapnya tentang menggunakan CHotKeyCtrl
, lihat Kontrol dan Menggunakan CHotKeyCtrl.
Hierarki Warisan
CHotKeyCtrl
Persyaratan
Header: afxcmn.h
CHotKeyCtrl::CHotKeyCtrl
Membuat CHotKeyCtrl
objek.
CHotKeyCtrl();
CHotKeyCtrl::Create
Membuat kontrol kunci panas dan melampirkannya ke CHotKeyCtrl
objek.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwStyle
Menentukan gaya kontrol tombol panas. Terapkan kombinasi gaya kontrol apa pun. Lihat Gaya Kontrol Umum di Windows SDK untuk informasi selengkapnya.
rect
Menentukan ukuran dan posisi kontrol kunci panas. Ini bisa berupa objek CRect atau struktur RECT.
pParentWnd
Menentukan jendela induk kontrol kunci panas, biasanya CDialog. Ini tidak boleh NULL.
Nid
Menentukan ID kontrol kunci panas.
Tampilkan Nilai
Nonzero, jika inisialisasi berhasil; jika tidak, 0.
Keterangan
Anda membuat CHotKeyCtrl
objek dalam dua langkah. Pertama, panggil konstruktor lalu panggil Create
, yang membuat kontrol kunci panas dan melampirkannya ke CHotKeyCtrl
objek.
Jika Anda ingin menggunakan gaya jendela yang diperluas dengan kontrol Anda, panggil CreateEx alih-alih Create
.
CHotKeyCtrl::CreateEx
Panggil fungsi ini untuk membuat kontrol (jendela anak) dan mengaitkannya dengan CHotKeyCtrl
objek.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwExStyle
Menentukan gaya kontrol yang diperluas yang sedang dibuat. Untuk daftar gaya Windows yang diperluas, lihat parameter dwExStyle untuk CreateWindowEx di Windows SDK.
dwStyle
Menentukan gaya kontrol tombol panas. Terapkan kombinasi gaya kontrol apa pun. Untuk informasi selengkapnya, lihat Gaya Kontrol Umum di Windows SDK.
rect
Referensi ke struktur RECT yang menjelaskan ukuran dan posisi jendela yang akan dibuat, dalam koordinat klien pParentWnd.
pParentWnd
Penunjuk ke jendela yang merupakan induk kontrol.
Nid
ID jendela anak kontrol.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Gunakan CreateEx
alih-alih Buat untuk menerapkan gaya Windows yang diperluas, yang ditentukan oleh preface gaya windows yang diperluas WS_EX_.
CHotKeyCtrl::GetHotKey
Mengambil kode kunci virtual dan bendera pengubah pintasan keyboard dari kontrol tombol panas.
DWORD GetHotKey() const;
void GetHotKey(
WORD& wVirtualKeyCode,
WORD& wModifiers) const;
Parameter
wVirtualKeyCode
[out] Kode kunci virtual pintasan keyboard. Untuk daftar kode kunci virtual standar, lihat Winuser.h.
wModifiers
[out] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah di pintasan keyboard.
Bendera pengubah adalah sebagai berikut:
Bendera | Kunci yang Sesuai |
---|---|
HOTKEYF_ALT | Kunci ALT |
HOTKEYF_CONTROL | Kunci CTRL |
HOTKEYF_EXT | Kunci yang diperluas |
HOTKEYF_SHIFT | Tombol SHIFT |
Tampilkan Nilai
Dalam metode kelebihan beban pertama, DWORD yang berisi kode kunci virtual dan bendera pengubah. Byte urutan rendah dari kata berurutan rendah berisi kode kunci virtual, byte urutan tinggi dari kata berurutan rendah berisi bendera pengubah, dan kata urutan tinggi adalah nol.
Keterangan
Kode kunci virtual dan tombol pengubah bersama-sama menentukan pintasan keyboard.
CHotKeyCtrl::GetHotKeyName
Panggil fungsi anggota ini untuk mendapatkan nama kunci panas yang dilokalkan.
CString GetHotKeyName() const;
Tampilkan Nilai
Nama yang dilokalkan dari kunci panas yang saat ini dipilih. Jika tidak ada hot key yang dipilih, GetHotKeyName
mengembalikan string kosong.
Keterangan
Nama yang dikembalikan fungsi anggota ini berasal dari driver keyboard. Anda dapat menginstal driver keyboard yang tidak dilokalkan di versi Windows yang dilokalkan, dan sebaliknya.
CHotKeyCtrl::GetKeyName
Panggil fungsi anggota ini untuk mendapatkan nama kunci yang dilokalkan yang ditetapkan ke kode kunci virtual tertentu.
static CString GetKeyName(
UINT vk,
BOOL fExtended);
Parameter
vk
Kode kunci virtual.
fExtended
Jika kode kunci virtual adalah kunci yang diperluas, TRUE; jika tidak FALSE.
Tampilkan Nilai
Nama kunci yang dilokalkan yang ditentukan oleh parameter vk . Jika kunci tidak memiliki nama yang dipetakan, GetKeyName
mengembalikan string kosong.
Keterangan
Nama kunci yang dikembalikan fungsi ini berasal dari driver keyboard, sehingga Anda dapat menginstal driver keyboard yang tidak dilokalkan dalam versi Windows yang dilokalkan, dan sebaliknya.
Contoh
CString str;
str = CHotKeyCtrl::GetKeyName(VK_CONTROL, FALSE);
// str is now "Ctrl", or the localized equivalent.
CHotKeyCtrl::SetHotKey
Mengatur pintasan keyboard untuk kontrol tombol panas.
void SetHotKey(
WORD wVirtualKeyCode,
WORD wModifiers);
Parameter
wVirtualKeyCode
[di] Kode kunci virtual pintasan keyboard. Untuk daftar kode kunci virtual standar, lihat Winuser.h.
wModifiers
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah di pintasan keyboard.
Bendera pengubah adalah sebagai berikut:
Bendera | Kunci yang Sesuai |
---|---|
HOTKEYF_ALT | Kunci ALT |
HOTKEYF_CONTROL | Kunci CTRL |
HOTKEYF_EXT | Kunci yang diperluas |
HOTKEYF_SHIFT | Tombol SHIFT |
Keterangan
Kode kunci virtual dan tombol pengubah bersama-sama menentukan pintasan keyboard.
CHotKeyCtrl::SetRules
Panggil fungsi ini untuk menentukan kombinasi yang tidak valid dan kombinasi pengubah default untuk kontrol tombol panas.
void SetRules(
WORD wInvalidComb,
WORD wModifiers);
Parameter
wInvalidComb
Array bendera yang menentukan kombinasi kunci yang tidak valid. Ini bisa menjadi kombinasi dari nilai berikut:
HKCOMB_A ALT
HKCOMB_C CTRL
HKCOMB_CA CTRL+ALT
HKCOMB_NONE Kunci yang tidak dimodifikasi
HKCOMB_S SHIFT
HKCOMB_SA SHIFT+ALT
HKCOMB_SC SHIFT+CTRL
HKCOMB_SCA SHIFT+CTRL+ALT
wModifiers
Array bendera yang menentukan kombinasi kunci yang akan digunakan saat pengguna memasukkan kombinasi yang tidak valid. Untuk informasi selengkapnya tentang bendera pengubah, lihat GetHotKey.
Keterangan
Ketika pengguna memasukkan kombinasi kunci yang tidak valid, seperti yang ditentukan oleh bendera yang ditentukan dalam wInvalidComb, sistem menggunakan operator OR untuk menggabungkan kunci yang dimasukkan oleh pengguna dengan bendera yang ditentukan dalam wModifiers. Kombinasi kunci yang dihasilkan dikonversi menjadi string lalu ditampilkan dalam kontrol tombol panas.