Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-12-2003
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 21
Descendents Va por buen camino
Tmemo Index(saber en que linea estoy)

¿Es posible saber en que linea me encuentro al hacerle un click dentro de un memo?

Tengo un boton para borrar lines de un memo.

hago lo siguiente:

Memarx.Lines.Delete(n);

Necesito saber n. Como puedo saber en que linea estoy?

Tambien. ¿Es posible seleccionar toda la linea desde un memo?

Cuando le doy click a la linea 1 se me seleccione en azul toda la linea.

Un saludo
Gracias.
Responder Con Cita
  #2  
Antiguo 12-12-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Para hallar el número de línea (basado en 0) en donde se encuantra el cursor:
Código:
Line := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, -1, 0);
Una vez que tienes la línea, para seleccionarla necesitas saber el primer y último caracter (su índice basado en el comienzo de todo el texto del Memo):
Código:
StartChar := SendMessage(Memo1.Handle, EM_LINEINDEX, Line, 0);
EndChar := SendMessage(Memo1.Handle, EM_LINEINDEX, Line + 1, 0);
y usar las propiedades SelStart y SelLength del Memo.

Todo junto lo podrías poner en el evento OnClick del Memo:

Código:
procedure TForm1.Memo1Click(Sender: TObject);
var
  Line: Integer;
  StartChar, EndChar: Integer;

begin
  Line := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, -1, 0);
  StartChar := SendMessage(Memo1.Handle, EM_LINEINDEX, Line, 0);
  EndChar := SendMessage(Memo1.Handle, EM_LINEINDEX, Line + 1, 0);

  Memo1.SelStart := StartChar;
  Memo1.SelLength := EndChar - StartChar;
end;

// Saludos
Responder Con Cita
  #3  
Antiguo 12-12-2003
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 21
Descendents Va por buen camino
Muchas gracias Roman

Perfecto
Un saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:57:37.


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
Copyright 1996-2007 Club Delphi