Phím truy cập là một chữ cái cho phép người dùng thực hiện thao tác menu nhanh hơn bằng cách sử dụng bàn phím thay vì chuột. Điều này thường nhanh hơn vì người dùng sẽ không cần định vị chuột ở bất kỳ đâu, giúp giảm thời gian thực hiện hành động.
Bước 1 – Để tạo khóa truy cập, hãy nhập ký hiệu và “&” ở bên trái của mục menu.
Bước 2 – Lặp lại bước này cho tất cả các tùy chọn menu. Chạy ứng dụng này và nhấn Alt. Bạn sẽ thấy rằng chữ cái đầu tiên của tất cả các tùy chọn menu được gạch dưới.
Phím tắt
Phím tắt là một phím hoặc tổ hợp các phím được người dùng nâng cao sử dụng để thực hiện một hành động mà lẽ ra sẽ được thực hiện trên một mục menu. Hầu hết các phím tắt là sự kết hợp giữa phím Ctrl được nhấn đồng thời với phím chữ cái. Ví dụ: Ctrl + N, Ctrl + O hoặc Ctrl + D.
Để tạo lối tắt, ở phía bên phải của chuỗi tạo nên chú thích menu, nhấp chuột phải vào mục menu và chọn thuộc tính.
Trong trường Chú thích, nhập \t theo sau là tổ hợp mong muốn như được hiển thị bên dưới cho tùy chọn menu Mới. Lặp lại bước này cho tất cả các tùy chọn menu.
Bảng gia tốc
Bảng Gia tốc là danh sách các mục trong đó mỗi mục của bảng kết hợp một mã định danh, phím tắt và một số không đổi chỉ định loại phím tăng tốc. Cũng giống như các tài nguyên khác, bảng gia tốc có thể được tạo thủ công trong tệp .rc. Sau đây là các bước để tạo một bảng gia tốc.
Bước 1 − Để tạo bảng tăng tốc, nhấp chuột phải vào tệp *.rc trong trình khám phá giải pháp.
Bước 2 – Chọn Trình tăng tốc và nhấp vào Mới.
Bước 3 – Nhấp vào mũi tên của hộp tổ hợp ID và chọn menu Mục.
Bước 4 – Chọn Ctrl từ trình đơn thả xuống Công cụ sửa đổi.
Bước 5 – Nhấp vào hộp Phím và nhập các Phím tương ứng cho cả hai tùy chọn menu. Chúng tôi cũng sẽ thêm trình xử lý sự kiện mục menu mới để thử nghiệm. Nhấp chuột phải vào tùy chọn menu Mới.
Bước 6 – Bạn có thể chỉ định một lớp, loại thông báo và tên trình xử lý. Hiện tại, chúng ta hãy để nguyên như vậy và nhấp vào nút Thêm và Chỉnh sửa.
Bước 7 – Chọn Thêm trình xử lý sự kiện.
Bước 8 – Bây giờ bạn sẽ thấy sự kiện được thêm vào cuối tệp CMFCModalDemoDlg.cpp.
void CMFCModalDemoDlg::OnFileNew() {
// TODO: Add your command handler code here
MessageBox(L"File > New menu option");
}
Bước 9 – Bây giờ, chúng ta hãy thêm một hộp thông báo sẽ hiển thị thông báo tùy chọn menu đơn giản.
Để bắt đầu chạy bảng gia tốc, hãy thêm biến HACCEL và ProcessMessageFilter như minh họa trong CMFCModalDemoApp sau.
class CMFCModalDemoApp : public CWinApp {
public:
CMFCModalDemoApp();
// Overrides
public:
virtual BOOL InitInstance();
HACCEL m_hAccelTable;
// Implementation
DECLARE_MESSAGE_MAP()
virtual BOOL ProcessMessageFilter(int code, LPMSG lpMsg);
};
Bước 10 – Tải Trình tăng tốc và lệnh gọi sau trong CMFCModalDemoApp::InitInstance().
m_hAccelTable = LoadAccelerators(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDR_ACCELERATOR1));
Bước 11 – Đây là triển khai của ProcessMessageFilter
BOOL CMFCModalDemoApp::ProcessMessageFilter(int code, LPMSG lpMsg) {
if (code >= 0 && m_pMainWnd && m_hAccelTable) {
if (::TranslateAccelerator(m_pMainWnd -> m_hWnd, m_hAccelTable, lpMsg))
return TRUE;
}
return CWinApp::ProcessMessageFilter(code, lpMsg);
}
Bước 12 – Khi đoạn mã trên được biên dịch và thực thi, bạn sẽ thấy đầu ra sau.
Bước 13 – Nhấn nút Alt, sau đó là phím F và sau đó là phím N hoặc Ctrl + N. Bạn sẽ thấy thông báo sau.