PDA

Ver la Versión Completa : como saber la linea en la que está el cursos en un TMemo


aranel
17-10-2005, 22:22:44
Hola, sigo aquí con el proyecto, a veces mejor y otras de tantas vueltas que les doy a las cosas llego a marearme. Porque a veces no es que no sepa hacer las cosas, es que ni tan siquiera se si se pueden hacer. Estoy intentando hacer un editor de textos un poco avanzado, y entre otras cosas, debe decirme la linea actual en la que me encuentro. El editor lo he implementado con un TMemo y no se si hay alguna función o alguna forma de averiguar la posición del cursor dentro del TMemo.

Por otra parte, tambien estoy intentando implementar el editor con multiples pestañas (TTabSheet) dentro de un TPageControl, cada TTabSheet se supone que tendría un TMemo, el problema es que no se como crear dinamicamente esas pestañas. Por ejemplo, cada vez que abro un archivo nuevo, que me lo muestre en un TMemo de una nueva pestaña.

Muchas gracias, por adelando.

Un beso a todos!!!!!

roman
17-10-2005, 22:31:25
En cuanto a la línea actual la puedes obtener con

Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0)

En cuanto a lo otro abre un nuevo hilo (no sin antes hacer una búsqueda en los foros) ya que es otro asunto.

// Saludos

dec
17-10-2005, 22:31:42
Hola,

Para lo primero emplea la propiedad "CaretPos" del "TMemo". Para lo segundo echa un vistazo a los resultados de esta búsqueda en los Foros (http://www.clubdelphi.com/foros/search.php?searchid=338122).

marcoszorrilla
17-10-2005, 22:33:47
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
label1.caption:=IntToStr(TCustomMemo(memo1).CaretPos.y);
end;


Un Saludo.