關於插入號
系統會為每個訊息佇列提供一個插入號。 只有在視窗具有鍵盤焦點或作用中時,才會建立插入號。 視窗應該會在失去鍵盤焦點或變成非作用中之前終結插入號。 如需鍵盤輸入的詳細資訊,請參閱 鍵盤輸入。
使用 CreateCaret 函式來指定插入號的參數。 系統會在插入號的位置、寬度和高度所指定的矩形內反轉圖元色彩,以形成插入號。 寬度和高度以邏輯單元指定;因此,插入號的外觀受限於視窗的對應模式。
本節將討論下列主題。
插入號可見度
定義插入號之後,請使用 ShowCaret 函式讓插入號可見。 當插入號出現時,它會自動開始閃爍。 為了顯示實心插入號,系統會反轉矩形中的每個圖元;若要顯示灰色插入號,系統會反轉所有其他圖元;若要顯示點陣圖插入號,系統只會反轉點陣圖的白色位。
插入號閃爍時間
需要以毫秒為單位來反轉插入號所需的時間稱為 閃爍時間。 只要擁有訊息佇列的執行緒具有處理訊息的訊息幫浦,插入號就會閃爍。
使用者可以使用主控台和應用程式來設定插入號的閃爍時間,應遵守使用者所選擇的設定。 應用程式可以使用 GetCaretBlinkTime 函式來判斷插入號的閃爍時間。 如果您要撰寫可讓使用者調整閃爍時間的應用程式,例如主控台小程式,請使用SetCaretBlinkTime函式將閃爍時間的速率設定為指定的毫秒數。
快閃時間是經過的時間,以毫秒為單位,用來顯示、反轉和還原插入號的顯示。 插入號的快閃時間與閃爍時間兩倍。
插入號位置
您可以使用 GetCaretPos 函式來判斷插入號的位置。 用戶端座標中的位置會複製到 GetCaretPos中的參數所指定的結構。 應用程式可以使用 SetCaretPos 函式,在視窗中移動插入號。 只有當視窗已經擁有插入號時,視窗才能移動插入號。 SetCaretPos 可以移動插入號是否可見。
移除插入號
您可以藉由隱藏插入號來暫時移除插入號,也可以藉由終結插入號來永久移除插入號。 若要隱藏插入號,請使用 HideCaret 函式。 當您的應用程式在處理訊息時必須重新繪製螢幕,但必須讓插入號保持不移時,這非常有用。 當應用程式完成繪圖時,可以使用 ShowCaret 函式再次顯示插入號。 隱藏插入號不會終結其圖形或使插入點失效。 隱藏插入號是累計的;也就是說,如果應用程式呼叫 HideCaret 五次,它也必須在插入號重新出現前呼叫 ShowCaret 5 次。
若要從畫面移除插入號並終結其圖形,請使用 DestroyCaret 函式。 DestroyCaret 只有在目前工作涉及的視窗擁有插入號時,才會終結插入號。