Hola danielmj.
Cita:
Empezado por danielmj
Hola, gracias por la ayuda, sigo mirando a ver que consigo y quedo a la espera por si encuentras algo.
Saludos.
|
No cuento con otra versión que Delphi 7 para comprobarlo (lo que me dificulta la taréa...), así que tengo que pedirte que verifiques si te funciona este modo en tu Delphi:
Código Delphi
[-]
uses RichEdit;
const
EM_SCROLLCARET = $00B7;
var
LastCase: Integer;
procedure TForm1.btnSearchFirstClick(Sender: TObject);
begin
with RichEdit1 do
begin
LastCase:= RichEdit1.FindText(Lista.Text, 0, Length(RichEdit1.Text), []);
if LastCase <> -1 then
begin
SelStart:= Perform(EM_LINEINDEX, 0, 0) + LastCase;
SelLength:= Length(Lista.Text);
Perform(EM_SCROLLCARET, 0, 0);
SetFocus
end
end
end;
procedure TForm1.btnNextClick(Sender: TObject);
var
Next: Integer;
begin
with RichEdit1 do
begin
Next:= RichEdit1.FindText(Lista.Text, SelStart+SelLength, Length(RichEdit1.Text), []);
if Next <> -1 then
begin
SelStart:= Perform(EM_LINEINDEX, Next, 0) + Next + 1;
SelLength:= Length(Lista.Text);
Perform(EM_SCROLLCARET, 0, 0);
LastCase:= Next
end;
SetFocus;
end
end;
Insisto en este modo de búsqueda, por que en principio entendí que respeta la estética que queres darle a tu aplicación.
Saludos
