Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como estar siempre posicionado al final de un RichEdit (https://www.clubdelphi.com/foros/showthread.php?t=61557)

Sr.Scorpion 12-11-2008 16:50:01

Como estar siempre posicionado al final de un RichEdit
 
Hola:

Tengo un RichEdit y desarrollo una aplicacion parecida al HyperTerminal, y quisiera q cuando cargue el txt en el RichEdit se me ponga al final del txt.. y cada vez q introduzca.... algun dato siga en el final del richedit

Saludos

Caro 12-11-2008 17:08:48

Hola Scorpion, no he manejado el RichEdit, pero tiene las propiedades SelStart y SelLength, para llevar el cursor al final, debes hacer lo siguiente:

Código Delphi [-]
 RichEdit1.SelStart := length(RichEdit1.Text)-1;
 RichEdit1.SelLength := 0;
 RichEdit1.SetFocus;

Y para que siempre se escriba al final, supongo que deberías utilizar el evento OnChange con el mismo codigo.

Saluditos

Sr.Scorpion 12-11-2008 17:19:21

Sinceramente no entiendo muy bien tus sentencias.... no obstante la probe y no me funciona como esperaba

Saludos

DarkMan 13-11-2008 00:09:45

Una opción es enviarle un mensaje para desplazar su contenido:
Código Delphi [-]
Richedit1.Perform(EM_SCROLLCARET, 0, 0);

Caro 13-11-2008 00:23:50

Cita:

Empezado por DarkMan (Mensaje 325673)
Richedit1.Perform(EM_SCROLLCARET, 0, 0);

Eso lo que acabo de ver en la ayuda, estaba por contestar pero mes has ganado.

Lo anterior que puse si funciona y se ve si el texto no pasa del alto del RichEdit, pero si pasara el scroll no se mueve, si lo posiciona pero no se mueve por eso se manda ese mensaje.

Código Delphi [-]
  RichEdit1.SelStart := length(RichEdit1.Text);
  RichEdit1.SelLength := 0;
  RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
  RichEdit1.SetFocus;

SelStar-> es posición incial donde va a estar el cursor.
SelLength-> Es la cantidad de caracteres que va ha seleccionar, en tu caso 0.

Saluditos

Sr.Scorpion 13-11-2008 16:40:04

Ahora siiiii todo perfecto... muchas gracias todos..


La franja horaria es GMT +2. Ahora son las 00:37:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi