Cách nào bắt sự kiện KeyPress trên UserForm?

Liên hệ QC

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,952
Các cao thủ cho hỏi: Có cách nào bắt được sự kiện KeyPress trên UserForm hay không?
Lưu ý rằng cái mà tôi cần chính là bắt được sự kiện nhấn bàn phím mà không phụ thuộc vào bất cứ control nào đang được SetFocus!
Hic... Tìm trên mạng hôm qua đến giờ nhưng vẫn chưa có câu trả lời thỏa đáng
Ai biết xin vui lòng chỉ giúp với
 
Anh ơi,

Theo em thì cách tốt nhất là SubClassing.

Nếu mình không rành lắm thì có thể dùng cái miễn phí SSubTmr6 của www.vbaccelerator.com

Cách sử dụng có thể tham khảo trực tiếp tại trang vbaccelerator hoặc tại cpearson
Mấy cái vụ Subclassing & Hook này đúng là phức tạp, nhưng nếu nắm vững thì tha hồ mà quậy (từ mấy cái Menu trên Userform, Caption, Msgbox,...) tất tần tật.

Vbavn


 
Lần chỉnh sửa cuối:
Upvote 0
Các cao thủ cho hỏi: Có cách nào bắt được sự kiện KeyPress trên UserForm hay không?
Lưu ý rằng cái mà tôi cần chính là bắt được sự kiện nhấn bàn phím mà không phụ thuộc vào bất cứ control nào đang được SetFocus!
Hic... Tìm trên mạng hôm qua đến giờ nhưng vẫn chưa có câu trả lời thỏa đáng
Ai biết xin vui lòng chỉ giúp với

Vụ này bác dũng kỹ thuật hook keyboard. Bác tìm những bài viết về hook keyboard trên mạng rất nhiều. Làm trên userform thì bác cần dùng hàm API FindWindow để lấy handle của userform để làm đối số cho các hàm API.
 
Upvote 0
Chào anh,

Em đã kiểm tra. Anh xem tập tin đính kèm xem sao.

Vbavn
 

File đính kèm

Upvote 0
Chào anh,

Em đã kiểm tra. Anh xem tập tin đính kèm xem sao.

Vbavn
Code này khá ngắn gọn và gần giống với ý đồ của mình nhất!
Hic... Nói thật, chỉ hiểu độ chừng 1%, nhưng áp dụng thì chắc là.. được
Cảm ơn bạn nhiều nha
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom