简单问题,散分!
普通的文本编辑器都有查找功能,这在许多书上也有,基本都是抄的CB的help,但是居然我抄过来可以通过编译,但是输入字符串按“查找下一个”总是找不到,即使所编辑的文本中明明有所查找的字符串,请高手指教! 问题点数:50、回复次数:7Top
1 楼szbug(深圳虫)回复于 2002-11-25 09:18:33 得分 0
现在这种情况仔细读读源代码,找出bug,对你的提高很大的。。。Top
2 楼dahuzizyd(你就是我心中的女神)回复于 2002-11-25 09:19:58 得分 0
声明一个变量,用来记录上一次查找的位置,下一次就从这里开始。Top
3 楼favorit(九天剑舞·曾几何时,醉里挑灯看剑)回复于 2002-11-25 15:45:39 得分 0
你是不是没有触发TFindDialog的OnFind事件呀?Top
4 楼qinuestc(好机会)回复于 2002-11-25 17:21:39 得分 0
绝对触发了TFindDialog的OnFind事件!Top
5 楼shclhs(hello)回复于 2002-11-25 17:23:16 得分 0
我也的就可以Top
6 楼shclhs(hello)回复于 2002-11-25 17:24:38 得分 50
int FoundAt, StartPos, ToEnd;
MDIChild=(TMDIChild *)MainForm->ActiveMDIChild;
if (MDIChild->Editer->SelLength)
StartPos =MDIChild->Editer->SelStart;
else
StartPos = 0;
ToEnd =MDIChild->Editer->Text.Length() - StartPos;
FoundAt =MDIChild->Editer->FindText(FindDialog->FindText, StartPos, ToEnd, TSearchTypes()<< stMatchCase);
if (FoundAt != -1)
{
FindDialogClose(Sender);
MDIChild->Editer->SetFocus();
MDIChild->Editer->SelStart = FoundAt;
MDIChild->Editer->SelLength = FindDialog->FindText.Length();
}Top
7 楼qinuestc(好机会)回复于 2002-11-25 19:39:06 得分 0
谢谢龙海神有问题再请教!Top




