แสดงเคอร์เซอร์

ระบบแสดงเคอร์เซอร์คลาส (เคอร์เซอร์เกี่ยวข้องกับหน้าต่างที่ชี้เคอร์เซอร์) โดยอัตโนมัติ คุณสามารถกำหนดคลาสเคอร์เซอร์ในขณะที่การลงทะเบียนคลาสหน้าต่าง ตัวอย่างต่อไปนี้แสดงนี้ โดยการกำหนดหมายเลขอ้างอิงเคอร์เซอร์ไปยังสมาชิกhCursorของโครงสร้างWNDCLASSระบุพารามิเตอร์สุขา.

WNDCL&ASS สุขา 
 
/ / เติมโครงสร้างคลาสหน้าต่าง ด้วยพารามิเตอร์ที่ / / อธิบายหน้าต่างหลัก 
 
wc.style = NULL                        / / คลา style(s) wc.lpfnWndProc = MainWndProc (WNDPROC) / / หน้าต่างกระบวนงาน wc.cbClsExtra = 0           / / ไม่ใช่ข้อมูลพิเศษที่ wc.cbWndExtra ต่อคลาส = 0           / / ไม่มีต่อหน้าต่างข้อมูลเพิ่มเติม wc.hInstance = hinst        / / โปรแกรมประยุกต์ที่เป็นเจ้าของ wc.hIcon คลา = LoadIcon (NULL, IDI_APPLICATION);     / / คลาสไอคอน wc.hCursor = LoadCursor (hinst, MAKEINTRESOURCE(230)) / / คลาสเคอร์เซอร์ wc.hbrBackground = GetStockObject(WHITE_BRUSH) / / คลาสพื้นหลัง wc.lpszMenuName = "GenericMenu"               / / คลา wc.lpszClassName เมนู = "GenericWClass" / / คลาสชื่อ / / ลงทะเบียนคลาสหน้าต่าง 
 
กลับ RegisterClass(amp;wc) 

 

เมื่อลงทะเบียนคลาสหน้าต่าง เคอร์เซอร์ที่ถูกระบุ ด้วย 230 ในแฟ้มทรัพยากรข้อกำหนดของโปรแกรมประยุกต์จะเคอร์เซอร์เริ่มต้นสำหรับ windows ทั้งหมดที่ยึดตามชั้นเรียน.

โปรแกรมประยุกต์ของคุณสามารถเปลี่ยนการออกแบบของเคอร์เซอร์ได้ โดยใช้ฟังก์ชันSetCursorและระบุหมายเลขอ้างอิงเคอร์เซอร์ที่แตกต่างกัน อย่างไรก็ตาม เมื่อเคอร์เซอร์ย้าย ระบบ redraws เคอร์เซอร์คลาสที่ตำแหน่งที่ตั้งใหม่ เมื่อต้องการป้องกันไม่ให้เคอร์เซอร์คลาสถูกวาดขึ้นมาใหม่ คุณต้องประมวลผลข้อความWM_SETCURSOR แต่ละครั้งที่เคอร์เซอร์ย้ายและป้อนข้อมูลของเมาส์ไม่จับภาพ ระบบส่งข้อความนี้ไปยังหน้าต่างที่เคอร์เซอร์วางอยู่เคลื่อน.

คุณสามารถระบุเคอร์เซอร์ที่แตกต่างกันสำหรับเงื่อนไขที่แตกต่างกันได้ขณะกำลังประมวลผล WM_SETCURSOR ตัวอย่างเช่น ตัวอย่างต่อไปนี้แสดงวิธีการแสดงเคอร์เซอร์hCurs3เมื่อใดก็ ตามที่เคอร์เซอร์ย้ายผ่านไอคอนของโปรแกรมประยุกต์ที่ย่อเล็กสุด.

กรณี WM_SETCURSOR: / / ถ้าหน้าต่างถูกย่อให้เล็กสุด วาดเคอร์เซอร์ hCurs3 
    / / ถ้าหน้าต่างถูกย่อ วาดเริ่มต้น / / เคอร์เซอร์ (เคอร์เซอร์ของคลาส) 
 
    ถ้า (IsIconic(hwnd)) {SetCursor(hCurs3) 
        break 
    } 

 

เมื่อหน้าต่างถูกย่อเล็กสุดไม่ ระบบจะแสดงเคอร์เซอร์คลาส.

คุณสามารถแทนเคอร์เซอร์คลาส โดยใช้ฟังก์ชันSetClassLong ฟังก์ชันนี้เปลี่ยนแปลงการตั้งค่าหน้าต่างเริ่มต้นสำหรับ windows ทั้งหมดของคลาสที่กำหนด ตัวอย่างต่อไปนี้แทนเคอร์เซอร์คลาสอยู่ ด้วยเคอร์เซอร์hCurs2.

/ / เปลี่ยนเคอร์เซอร์สำหรับคลาสหน้าต่างแสดง โดย hwnd 
 
SetClassLong (hwnd, / / หน้าต่างจัดการ GCL_HCURSOR, / / เปลี่ยนเคอร์เซอร์ (ยาว) hCurs2);   / / new เคอร์เซอร์ 

 

สำหรับข้อมูลเพิ่มเติม ดูหน้าต่างชั้นและป้อนข้อมูลของเมาส์.

Index