• Lunes 23 de Diciembre de 2024, 04:20

Autor Tema:  Crear Un Tedit Con Historia  (Leído 2076 veces)

boheme

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Crear Un Tedit Con Historia
« en: Viernes 28 de Julio de 2006, 13:47 »
0
Hola a todos, solo quería compartir mi código con todos los usuarios de Solocódigo.
He implementado de forma muy sencilla un TEdit con historia, es decir, un TEdit como los que se implementan en los chats, que presionando arriba o abajo aparecen las anteriores líneas que has escrito.

Usamos un TEdit, un int (para saber la línea a la que saltamos) y un TMemo (para ir guardando la información que guardamos.

Establecemos a false el atributo Memo->Visible

Definimos
Código: Text
  1. int salto=0;
  2.  

En el evento de enviar información (por ejemplo un botón "enviar") ponemos:
Código: Text
  1. salto=0;
  2. Memo->Lines->Add(Edit->Text);
  3.  

En el evento KeyDown del TEdit escribimos:
Código: Text
  1.  
  2.         if (Key==40 && salto>0)
  3.                 {
  4.                 salto--;
  5.                 Edit->Text = Memo->Lines->Strings[Memo->Lines->Count-salto];
  6.                 }
  7.         if (Key==38 && salto<Memo->Lines->Count)
  8.                 {
  9.                 salto++;
  10.                 Edit->Text = Memo->Lines->Strings[Memo->Lines->Count-salto];
  11.                 }
  12.  
  13.  
  14.  
  15.  
  16.  


Ya está. Así de fácil.
Estuve buscando un tiempo cómo implementarlo, y todo lo que encontré era código tremendamente farragoso. Creo que con esta solución queda un código más simple y elegante.

¡Un saludo!