Bom, eu não trabalhei com RichEdit muitas vezes, mas dei uma pesquisada e fiz um programa de exemplo com o que tinha no help do Delphi e parece que fez o que vc solicitou. Ele mantém a palavra procurada selecionada toda vez que se clica no "Procurar" ou no "Procurar Próxima"
procedure TForm1.FindDialog1Find(Sender: TObject); var FoundAt: LongInt; StartPos, ToEnd: Integer; begin with RichEdit1 do begin { begin the search after the current selection if there is one } { otherwise, begin at the start of the text } if SelLength <> 0 then StartPos := SelStart + SelLength else StartPos := 0; { ToEnd is the length from StartPos to the end of the text in the rich edit control } ToEnd := Length(Text) - StartPos; FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]); if FoundAt <> -1 then begin SetFocus; SelStart := FoundAt; SelLength := Length(FindDialog1.FindText); end; end; end; -- []'s Malomar Alex Seminotti Erechim - RS maniacapordelphi escreveu: >Como a rotina de pesquisa de palavra com comandos de selattributes >tava dando muito erro, resolvi substituir por algo pronto: O >componente FindDialog da palheta Dialogs. Está dando certo >parcialmente porque está tendo um probleminha durante as etapas de >busca: >1. Executo o FindDialog >2. Digito a palavra e clico em "Pesquisar próxima" >3. OK. a palavra é encontrada e selecionada com tarja azul. >4. Clico novamente em "Pesquisar próxima" >5. nessa etapa a próxima palavra é encontrada, mas ela não fica com >tarja azul no Rich Edit. > >Já tentei ActiveControl, setfocus, selstart novamente, >Application.ProcessMessages, RichEdit.Update, RichEdit.Refresh, >mas nada resolve. Para resolver, tenho que dar o comando >FindDialog.CloseDialog e chamar a pesquisa novamente. > >Alguém sabe qual o comando que falta? >Mani >--- Em delphi-br@yahoogrupos.com.br, Malomar Alex Seminotti ><[EMAIL PROTECTED]> escreveu > > >>Mani, >> >>Vc chegou a verificar o valor da propriedade SelLength? Tenta >> >> >verificar > > >>e talvez zerar ela antes de clicar no botão de Zoom. >> >>-- >>[]'s >>Malomar Alex Seminotti >>Erechim - RS >> >> >> >>maniacapordelphi escreveu: >> >> >> >>>Tenho em meu form: >>>um botão de pesquisa de prefixos para localizar em um RichEdit >>> >>> >todas > > >>>as palavras que contenham aquele prefixo. Ao localizar a palavra >>> >>> >uso > > >>>o SelAttributes para mudar a cor da fonte somente para aquela >>>palavra. Até aí tudo ok. >>> >>>tenho um outro botao de Zoom que aumenta o tamanho da fonte para >>> >>> >+ > > >>>ou para -. >>> >>>Quando clico primeiro no botao de zoom funciona ok, mas se clicar >>>primeiro no botão de pesquisa do prefixo e depois no botão de >>> >>> >zoom, > > >>>a fonte não aumenta nem reduz. O problema está no SelAttributes >>> >>> >que > > >>>estou usando no botão de pesquisa. >>> >>>O que tenho que fazer nesse caso, para desativar esse >>> >>> >SelAttributes > > >>>e permitir a alteração do tamanho da fonte? >>> >>>Mani >>> >>>