我有一些代码在ON_EN_CHANGE调用时从用户输入的字符串中删除非法字符。 因此,如果删除了光标位置,则需要更正光标位置。
为此,我一直在尝试使用GetSel来检索位置,然后使用setsel将其设置为如下所示。 f是另一个int变量。
m_ExportDirectory.GetWindowTextA(directory);
//characters removed here
if (rem > 0)
{
int j;
m_ExportDefaultName.GetSel(f, j);
m_ExportDirectory.SetWindowTextA(directory);
m_ExportDefaultName.SetSel(f-rem, f-rem);
}
但是getsel总是设置f& j到0.我试图将其调用移到GetWindowText上方但没有任何变化。
我做了些蠢事吗?如果没有任何想法?
由于
答案 0 :(得分:1)
我认为问题是GetSel()
会返回选择的开始和结束位置。得到(0,0)因为没有用户选择文本。
答案 1 :(得分:0)
Tims评论解决。出现问题的是我的疲惫和愚蠢!