การแปลอักขระข้อความ

หัวข้อใด ๆ ที่ได้รับการป้อนอักขระจากผู้ใช้ต้องมีฟังก์ชันTranslateMessageในการวนรอบของข้อความ ฟังก์ชันนี้ตรวจสอบรหัสคีย์เสมือนของข้อความการกดแป้นพิมพ์ และ ถ้ารหัสตรงกับอักขระ วางอักขระข้อความลงในคิวข้อความ อักขระข้อความจะถูกเอาออก และอบรมในการคำนวณซ้ำถัดไปของการวนรอบข้อความ พารามิเตอร์wParamของข้อความประกอบด้วยรหัสอักขระ.

ทั่วไป การวนรอบข้อความของเธรดควรใช้ฟังก์ชันTranslateMessageการแปลทุกข้อความ ข้อความไม่เพียงเสมือนคีย์ แม้ว่าTranslateMessageไม่มีผลกับข้อความชนิดอื่น ๆ จะรับประกันว่า ป้อนข้อมูลของแป้นพิมพ์จะแปลได้อย่างถูกต้อง ตัวอย่างต่อไปนี้แสดงวิธีการรวมฟังก์ชันTranslateMessageในวนความหัวข้อทั่วไป.

ในขณะที่ (GetMessage (แอมป์ msg, (HWND) NULL, 0, 0)) {ถ้า (TranslateAccelerator (hwndMain, haccl และ msg) == 0) {TranslateMessage(&msg) 
        DispatchMessage(&msg) 
    } 
} 

 

Index