ToAscii

הפונקציה ToAscii מתרגם את קוד מקש וירטואלי שצוין ואת לוח המקשים למצב התו או התווים המתאימים. הפונקציה מתרגם את הקוד באמצעות את שפת הקלט ואת פריסת לוח המקשים הפיזי שזיהה את נקודת האחיזה של פריסת לוח המקשים נתון.

int ToAscii ( UINT  uVirtKey, / / מקש וירטואלי קודUINTuScanCode, / / לסרוק קודPBYTElpKeyState, / / מצב מפתח מערךLPWORDlpChar, / / מאגר עבור מפתח מתורגםUINTuFlags / / תפריט פעיל בדגל);
 

פרמטרים

uVirtKey
ציון קוד מקש וירטואלי יש לתרגם.
uScanCode
ציון קוד סריקה חומרה של המפתח לתרגם. הסיביות הגבוהות של ערך זה נקבע אם הגדרת המפתח (לא לחוץ).
lpKeyState
מצביע למערך 256 בתים המכיל את המצב הנוכחי של לוח המקשים. כל רכיב (בית) במערך מכיל את המצב של מקש אחד. אם הגדרת את הסיביות הגבוהות של בית, המפתח נמצא למטה (לחוץ).

קצת הנמוך, אם בחר, מציין כי המקש לחוץ ב. פונקציה זו, רק סיבית דו-מצבית של מקש ה-caps lock הוא רלוונטי. המערכת מתעלמת המדינה דו-מצבי של num lock ולגלול נעילת מפתחות.

lpChar
המצביע אל המאגר שיקבל את מתורגם התו או התווים.
uFlags
ציון אם תפריט פעיל. פרמטר זה חייב להיות 1 אם תפריט הוא הפעיל, או 0 אם לא.

להחזיר ערכים

אם המפתח שצוין הוא מפתח מת, הערך המוחזר הוא מספר שלילי. אחרת, הוא אחד מהבאים:.

ערך משמעות
0 מפתח וירטואלי שצוין כולל לא תרגום עבור המצב הנוכחי של לוח המקשים.
1 תו אחד הועתק אל המאגר.
2 שני תווים שהועתקו אל המאגר. הדבר קורה בדרך כלל כאשר לא ניתן להרכיב תו המלח-מפתח (הדגשה או סימן ניקוד) המאוחסנים בפריסת לוח המקשים באמצעות מפתח וירטואלי שצוין ליצירת תו בודד.

הערות

ייתכן הפרמטרים שסופקו לפונקציה ToAscii אינו מספיק לתרגם את קוד מקש וירטואלי, כיוון מפתח מת קודם מאוחסן את פריסת לוח המקשים.

בדרך כלל, ToAscii מבצעת את התרגום מבוסס על קוד מקש וירטואלי. במקרים מסוימים, עם זאת, מעט 15 הפרמטר uScanCode עשוי לשמש כדי להבדיל בין הקשה על מקש שחרור מקש. קוד סריקה משמש לתרגום ALT +מקש מספר שילובים.

למרות num lock הוא מקש דו-מצבי אשר משפיע על אופן הפעולה של לוח המקשים, ToAscii מתעלם הגדרת דו-מצבי (סיביות נמוך) lpKeyState (VK_NUMLOCK, כיוון הפרמטר uVirtKey לבדו אינו מספיק להבדיל את המפתחות תנועת הסמן (VK_HOME, VK_INSERT וכן הלאה) המקשים המספריים (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.

ראה גם

מבט כולל על לוח המקשים קלט, בפונקציות קלט של לוח מקשים, OemKeyScan, ToUnicode, VkKeyScan

Index