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
>>>      
>>>

Responder a