ซ่อนตัวชี้เมื่อเป็น

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

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

HWND hwnd, / / หน้าต่างจัดการ HDC hdc     / / บริบทอุปกรณ์กรณี WM_CHAR: สวิตช์ (wParam) {กรณี 0x08: / / backspace ในการประมวลผล 
             
                break 
 
            กรณี 0x09: / / แท็บการประมวลผล  
             
                break 
 
            กรณี 0x0D: / / ดำเนินการขนส่งส่งคืน 
             
                break 
 
            กรณี 0x1B: / / กระบวนการทางออก 
             
                break 
 
            กรณี 0x0A: / / ทำการประมวลผลแบบ linefeed 
             
                break 
 
            เริ่มต้น: / / ซ่อนเครื่องหมายรูปหมวก 

                HideCaret(hwnd) 
 
                / / วาดอักขระบนหน้าจอ 
 
                hdc = GetDC(hwnd) 
                SelectObject (hdc, GetStockObject(SYSTEM_FIXED_FONT)) 
 
                TextOut (hdc, x, y, lpszChar, 1); 
 
                ReleaseDC (hwnd, hdc); 
 
                / / แสดงเครื่องหมายรูปหมวก 
 
                ShowCaret(hwnd) 
 
        } 
 

ถ้าโปรแกรมประยุกต์ของคุณเรียกฟังก์ชันHideCaretหลายครั้ง โดยไม่มีการโทรShowCaretเครื่องหมายรูปหมวกจะไม่ปรากฏจนกว่าโปรแกรมประยุกต์ยังเรียกShowCaretจำนวนครั้งเดียวกัน.