2008-09-18 66 views
1

我正在MFC中編程一個應用程序(不要問),我有一個保存一個數字的CEdit框。當編輯這個號碼時,我想對變化採取行動,然後在我採取行動之前更換插入的字符 - 如果用戶剛好在「。」之前。在「35.40」中,如果將它更改爲「345.40」,我希望它仍然位於該點之前。我目前正在接收CHANGE消息,但可以切換到其他內容(UPDATE?)。我怎樣才能做到這一點?如何在CEdit控件中保留插入符號位置?

回答

1

在更改之前使用GetSel()函數來存儲光標的位置,然後使用SelSel()將其設置回來。您可以使用這些功能獲取/設置插入符號的位置,而不僅僅是獲取/設置用戶所做的選擇。

0

你能否解釋一下你想改變CEdit框的行爲的原因? 作爲一個用戶,我會遇到一個問題,即每次輸入字符時都會更改插入符號。或者,如果以編程方式更改該值,您希望防止什麼?

+0

作爲一個用戶,我希望插入符號留在同一個地方。例如,如果使用.SetWindowTextA()更改CEdit的值,則脫字符會移至框的前面。這是防止這種情況的一種方法。 – jamuraa 2008-09-18 14:48:02

相關問題