การสร้างและแสดงตัวชี้เมื่อเป็น

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

ระบบส่งข้อความWM_SETFOCUSไปหน้าต่างรับโฟกัสของแป้นพิมพ์ ดังนั้น แอปพลิเคชันควรสร้าง และแสดงเครื่องหมายรูปหมวกขณะประมวลผลข้อความนี้.

HWND hwnd, / / หน้าต่างจัดการ int x           / / นอนพิกัดของเคอร์เซอร์ int y           / / แนวตั้งพิกัดของเคอร์เซอร์ int nWidth      / / ความกว้างของเคอร์เซอร์ int nHeight     / / ความสูงของเคอร์เซอร์ char * lpszChar  / / ชี้ไปยังอักขระกรณี WM_SETFOCUS: / / สร้างเครื่องรูปหมวกสีดำทึบ 
        CreateCaret (hwnd (HBITMAP) NULL, nWidth, nHeight); 
 
    / / ปรับตำแหน่งตัวชี้เมื่อ ในพิกัดของไคลเอ็นต์ 
        SetCaretPos (x, y); 
 
    / / แสดงเครื่องหมายรูปหมวก 
        ShowCaret(hwnd) 
 
        แบ่ง 
 

เมื่อต้องการสร้างตัวชี้เมื่อการใช้บิตแมป คุณต้องระบุหมายเลขอ้างอิงการแมปเมื่อใช้CreateCaret คุณสามารถใช้โปรแกรมประยุกต์แบบกราฟิกเพื่อสร้างบิตแมปและคอมไพเลอร์ทรัพยากรเพื่อเพิ่มบิตแมปไปยังทรัพยากรของโปรแกรมประยุกต์ของคุณ โปรแกรมประยุกต์ของคุณสามารถใช้การ LoadBitmapฟังก์ชันโหลดหมายเลขอ้างอิงของบิตแมปได้ ตัวอย่าง คุณสามารถแทนบรรทัดCreateCaretในตัวอย่างก่อนหน้านี้ ด้วยบรรทัดต่อไปนี้ในการสร้างตัวชี้เมื่อเป็นบิตแมป.

/ / โหลดทรัพยากรตัวชี้เมื่อโปรแกรมประยุกต์ที่กำหนดเอง 
 
    hCaret = LoadBitmap (hinst, MAKEINTRESOURCE(120)) 
 
/ / สร้างเครื่องรูปหมวกแบบบิตแมป 
 
    CreateCaret (hwnd, hCaret, 0, 0) 
 

อีกวิธีหนึ่งคือ คุณสามารถใช้การ CreateBitmapหรือ CreateDIBitmapฟังก์ชันการเรียกหมายเลขอ้างอิงของตัวชี้เมื่อบิตแมปได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับบิตแมป บิตแมป.

ถ้าโปรแกรมประยุกต์ของคุณระบุหมายเลขอ้างอิงการแมปCreateCaretละเว้นความกว้างและความสูงของพารามิเตอร์ บิตแมปกำหนดขนาดของเครื่องหมายรูปหมวก.

Index