Hola compañeros. Este es mi primer mensaje en este foro. Espero escribir mucho más, tanto para ayudar como para pedir ayuda (este es mi caso ahora jejeje).
Una de las características de mi programa es el típico buscador de substring dentro de un TMemo.
Bueno el caso es que he creado un TFindDialog, con el siguiente código en el evento OnFind();
//////////////////////////////////////////////////////////////////
void __fastcall TForm1::CajaBuscarFind(TObject *Sender)
{
if (CajaBuscar->Options.Contains(frMatchCase)) //Coincidie exactamente
{
//Selecciono el Substring usando la variable TexT
Memo1->SelStart=Memo1->Text.Pos(CajaBuscar->FindTextA)-1;
Memo1->SelLength=CajaBuscar->FindTextA.Length();
}
else
{ //Como no tiene que coincidir lo pasamos a minusculas
Memo1->SelStart=Memo1->Text.LowerCase().Pos(CajaBuscar->FindTextA.LowerCase())-1;
Memo1->SelLength=CajaBuscar->FindTextA.Length();
}
}
/////////////////////////////////////////////////////////////////
Lo hace todo bien. mi problema es que no selecciona el substring en el TMemo hasta que se cierra la ventana de TFindDialog. Yo quiero que se quede abierta (sin hacer uso del closedialog) pero que se subraye el substring (tipo adobe acrobat reader).
El Método TFindDialog no posee nigún Hide ni Show, por lo cual no sé como puedo hacer para que se subraye el substring en el TMEMO.
Se os ocurre algo??
Gracias a todos y un saludo