void CTabberDlg::OnRep(CString sFindString,CString sReplaceString) { int iResult = 0; FINDTEXTEX ft; ft.chrg.cpMin = 0; ft.chrg.cpMax = m_Rich.GetTextLength(); ft.lpstrText = sFindString.GetBuffer(0); do { iResult = m_Rich.FindText(FR_MATCHCASE|FR_WHOLEWORD, &ft); //Lines we want to skip. if((m_Rich.LineFromChar(ft.chrgText.cpMin) == 1) | (m_Rich.LineFromChar(ft.chrgText.cpMin) == 2) | (m_Rich.LineFromChar(ft.chrgText.cpMin) == 4) | (m_Rich.LineFromChar(ft.chrgText.cpMin) == 5) ) { int temp = ft.chrg.cpMin; ft.chrg.cpMin = ft.chrgText.cpMax; } else { if(iResult != -1 ) { //The replacement. m_Rich.SetSel(ft.chrgText); m_Rich.ReplaceSel(sReplaceString.GetBuffer(0)); } } }while(iResult != -1); }