簡體   English   中英

如何在Edit Control MFC中獲取光標位置?

[英]How to get cursor position in Edit Control MFC?

有什么方法可以知道當前光標在編輯控件中的位置嗎?

我有一種情況,我需要在當前光標位置插入文本。

注意:我正在用C ++實現邏輯。

閱讀文檔使此操作非常容易。 您將結合使用GetCaretPos()CharFromPos()

return m_edit.CharFromPos(m_edit.GetCaretPos());

如果要在當前位置插入文本,則不必嚴格要求查詢光標位置。 如文檔中所述,可以使用CEdit :: ReplaceSel來執行此操作:

如果沒有當前選擇,則會在當前光標位置插入替換文本。

當存在非空選擇時,根據您的特定要求,您將不得不處理該案件。 最自然的實現是替換當前選擇。 這就是用戶期望的,您不需要實現任何其他代碼邏輯。

如果您希望在當前有選擇的情況下在當前光標位置插入文本,則可以通過調用CEdit :: SetSel來刪除選擇而無需更改當前光標位置:

m_edit.SetSel(-1, 0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM