-
18-07-2013, 12:49 PM #1Silver member
- Ngày tham gia
- Sep 2015
- Đang ở
- Hà Nội
- Bài viết
- 0
Tạo PreTranslate cho Win32 Dialog để bắt sự kiện WM_KEYDOWN (parent)
Mình muốn bắt sự kiện bàn phím trong Dialog nhưng một child_window (child) nào đó đã handle được sự kiện này và không trả về cho Dialog (parent). Mình có tìm hiểu trên mạng thì người ta bảo sử dụng PreTranslate trong MFC.
Suy ra, trong Win32 sẽ bắt sự kiện ngay message loop, trước khi nó được gọi hàm Translate:
Mã:while (GetMessage(&msg, NULL, 0, 0)) { // pretranslate if (msg.message == WM_KEYDOWN) { // xử lý sự kiện //.... } else if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } }
Mã:return DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), 0, MainDialogProc); }
please help,View more random threads:
- Socket - Internet Explorer Ecrypt, Rút gọn Link đăng nhập ?
- Kỹ thuật hook Console Application của madCHook?
- Viết COM Bằng VC++ ATL có Tối ưu nhất ?
- Hook nhiều hàm API không bị cash, làm như thế nào?
- Không gửi được message vào một cửa sổ khác.
- Cách đăng ký DLL COM Vào Hệ Thống bằng Code?
- Cách dùng đối tượng semaphore và chia sẽ thông tin giữa các thread?
- Xem source code của các hàm API chỗ nào?
- Hỏi hàm FindAtom để làm gì ?
- Microsoft Transaction Server Sử dụng thế nào trong VC++
-
18-07-2013, 01:23 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình vừa nghĩ ra một cách thay vì sử dụng hàm DialogBox mình sử dụng hàm HWND hwnd = CreateDialog. Chỉ để tạo Window và return HWND
Sau đó sử dụng Message Loop như bình thường.
Liệu có cách nào nữa ko nhỉ ? [IMG]images/smilies/biggrin.png[/IMG]
-
18-08-2013, 06:10 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
override lại hàm PreTranslateMessage là ok nha bạn, mình làm rồi!
Mã:afx_msg BOOL PreTranslateMessage(MSG* pMsg);
Mã:BOOL CFS2pkDlg::PreTranslateMessage(MSG* pMsg) { // code here return CDialog::PreTranslateMessage(pMsg); }
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...