Bagikan melalui


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

CObject

CCmdTarget

CWnd

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.

Lihat juga

Kelas CWnd
Bagan Hierarki