Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Xử lý thông điệp từ bàn phím

  1. #1
    Ngày gia nhập
    09 2017
    Bài viết
    2

    Mặc định Xử lý thông điệp từ bàn phím

    Cho mình hỏi 1 chút về cách xử lý biến wParam khi nhấn phím.
    Ta sẽ nhận đc 2 giá trị WM_KEYDOW và WM_KEYUP do đó thông tin về phím này sẽ lập lại 2 lần. Ví dụ như bấm phím C sẽ nhận đc 2 chữ CC. Vậy mình muốn nhận đc 1 phím C thôi thì phải làm thế nào. Mong các Cao nhân chỉ giúp. Thank!

  2. #2
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    732

    Bạn đã biết rõ là có thể nhận được 2 thông điệp thì rõ ràng một thông điệp chỉ nhận 1 lần - thì đó chính là nhận 1 phím C 1 lần - muốn nhận 2 hay 1 là tùy bạn chứ nhỉ.
    Thực ra đôi khi chỉ nhận WM_KEYDOWN mà không có WM_KEYUP theo sau và ngược lại.
    Yêu mã hơn yêu em !!!

  3. #3
    Ngày gia nhập
    09 2017
    Bài viết
    2

    Mình là NewBie đang trong quá trình học hỏi nên chưa biết gì nhiều. Mình thêm cái đk này vào (((DWORD)lParam & 0x40000000) &&(HC_ACTION==nCode)) và đã làm được rồi. Thank bạn nhiều nhé

  4. #4
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    732

    Theo mình thì không cần điều kiện gì cả. Muốn nhận chỉ phím nhấn thì ta xử lý WM_KEYDOWN, muốn nhận chỉ phím nhả thì xử lý WM_KEYUP, cái nào không muốn nhận thì ta chỉ việc không chặn nó mà để cho hàm mặc định xử lý mà thôi. Đây là thông lệ chung khi viết chương trình cho Windows.
    Yêu mã hơn yêu em !!!

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn