การสร้างอินเทอร์เฟซแบบแป้นพิมพ์สำหรับแถบเลื่อนมาตรฐาน

แม้ว่าตัวควบคุมแถบเลื่อนมีอินเทอร์เฟซภายในแป้นพิมพ์แบบ แถบเลื่อนมาตรฐานไม่ การใช้อินเทอร์เฟซแบบแป้นพิมพ์สำหรับแถบเลื่อนมาตรฐาน procedure หน้าต่างต้องประมวลผลข้อความWM_KEYDOWNและตรวจสอบรหัสเสมือนของคีย์ที่ระบุ โดยพารามิเตอร์wParam ถ้ารหัสคีย์เสมือนสอดคล้องกับแป้นลูกศร กระบวนการหน้าต่างส่งตัวข้อความWM_HSCROLLหรือWM_VSCROLLมีคำต่ำใบสั่งของพารามิเตอร์wParamการตั้งค่าการแจ้งเตือนข้อความแถบเลื่อนที่เหมาะสม ตัวอย่างเช่น เมื่อผู้ใช้กดปุ่มลูกศรขึ้น ในกระบวนงานของหน้าต่างได้รับข้อความ WM_KEYDOWN กับwParamเท่ากับ VK_UP ในการตอบสนอง กระบวนการหน้าต่างส่งตัวเองความ WM_VSCROLL กับคำต่ำใบสั่งของwParamการตั้งค่าเป็นข้อความแจ้งเตือน SB_LINEUP.

ตัวอย่างต่อไปนี้แสดงวิธีการรวมส่วนติดต่อแบบแป้นพิมพ์สำหรับแถบเลื่อนที่มาตรฐาน.

WORD wScrollNotify = 0xFFFF 
 
กรณี WM_KEYDOWN: สวิตช์ (wParam) {กรณี VK_UP: wScrollNotify = SB_LINEUP 
            break 
 
        กรณี VK_PRIOR: wScrollNotify = SB_PAGEUP 
            break 
 
        กรณี VK_NEXT: wScrollNotify = SB_PAGEDOWN 
            break 
 
        กรณี VK_DOWN: wScrollNotify = SB_LINEDOWN 
            break 
 
        กรณี VK_HOME: wScrollNotify = SB_TOP 
            break 
 
        กรณี VK_END: wScrollNotify = SB_BOTTOM 
            break 
    } ถ้า (wScrollNotify ! = -1) เรียก sendmessage ระหว่างงาน (hwnd, WM_VSCROLL, MAKELONG (wScrollNotify, 0), 0 L); 
 
    แบ่ง 

 

Index