2008-09-18 67 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

相关问题