CRichEditCtrl的FindText函数问题
我建立了一个基于对话框的Unicode应用程序,我想用CRichEditCtrl控件的FindText方法来从控件里面查找一个字符串,我用的是Rich Edit 2.0,应用程序初始化代码里面已经写了riched20.dll导入和初始代码,查找代码如下:
FINDTEXTEXW ft;//定义FINDTEXTEX,不能自动切换Uinicode版本?????
ft.chrg.cpMin = 0;
ft.chrg.cpMax = -1;
ft.lpstrText=stredit.GetBuffer(stredit.GetLength());/(LPCTSTR)stredit出错
long n = m_RichE1.FindText(FR_DOWN|FR_MATCHCASE|FR_WHOLEWORD,&ft);
if (n != -1)
{
m_RichE1.SetSel(ft.chrgText);
}
编译时出现以下错误:
error C2664: 'FindTextW' : cannot convert parameter 2 from 'struct _findtextexw *' to 'struct _findtextexa *'
按原理说,应该用Unicode版本的参数才对,怎么Unicode版本的函数要用ANSI版本的参数呢?
如果工程定义为ANSI版本,不会出现问题,可以找到想查找的文字。
这怎么解决,我只想从控件里面查找某一个单词,然后把这一个单词SetSel,请大家帮忙!!!!