Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
El sistema de richedit (la demo de delphi) es este:

Código Delphi [-]
procedure TMainForm.UpdateCursorPos;
var
  CharPos: TPoint;
begin
  CharPos.Y := SendMessage(Editor.Handle, EM_EXLINEFROMCHAR, 0,
    Editor.SelStart);
  CharPos.X := (Editor.SelStart -
    SendMessage(Editor.Handle, EM_LINEINDEX, CharPos.Y, 0));
  Inc(CharPos.Y);
  Inc(CharPos.X);
  StatusBar.Panels[0].Text := Format(sColRowInfo, [CharPos.Y, CharPos.X]);
end;

En private está declarada. El problema es este:

Código Delphi [-]
procedure TMainForm.SelectionChange(Sender: TObject);
begin
  with Editor.Paragraph do
  try
    FUpdating := True;
    FirstInd.Left := Trunc(FirstIndent*RulerAdj)-4+GutterWid;
    LeftInd.Left := Trunc((LeftIndent+FirstIndent)*RulerAdj)-4+GutterWid;
    RightInd.Left := Ruler.ClientWidth-6-Trunc((RightIndent+GutterWid)*RulerAdj);
    BoldButton.Down := fsBold in Editor.SelAttributes.Style;
    ItalicButton.Down := fsItalic in Editor.SelAttributes.Style;
    UnderlineButton.Down := fsUnderline in Editor.SelAttributes.Style;
    BulletsButton.Down := Boolean(Numbering);
    FontSize.Text := IntToStr(Editor.SelAttributes.Size);
    FontName.Text := Editor.SelAttributes.Name;
    case Ord(Alignment) of
      0: LeftAlign.Down := True;
      1: RightAlign.Down := True;
      2: CenterAlign.Down := True;
    end;
    UpdateCursorPos;
  finally
    FUpdating := False;
  end;
end;

Que en richedit hay selectionchange y en memo no hay... ¿Hay alguna manera de adaptarlo para memo? Lo que quiero es:

Que aparezca abajo en el "statusbar" la información de donde está el puntero. Gracias de antemano
Responder Con Cita
  #2  
Antiguo 29-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Creo que ya te dije para qué es la propiedad Lines del TMemo. ¿Has probado con Position, Coordinates, XY.... algo así? Busca, busca, busca, busca.... ahí está la clave.

Acabo de hacer una búsqueda: http://www.clubdelphi.com/foros/showthread.php?t=34479

Ale, CaretPos.


Salu2
Responder Con Cita
  #3  
Antiguo 29-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
Vale. Ahora necesito que me recomendéis un buen evento para que se actualice cada vez que clique, he probado con OnKeyPress porque creía que hacía referencia a cada botón pulsado del teclado pero se ve que no es eso. Gracias muchas a todos que me ayudáis día y noche.
Responder Con Cita
  #4  
Antiguo 29-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
Y otra pregunta (estoy pesadito ee jej). He intentado modificar caretpos.x para hacer una especie de "ir a linea" pero me da error de "left side cannot be assigned to". ¿Ese error es porque no se puede modificar? En ese caso, ¿Cómo puedo arreglarlo? Gracias muchas de antemano.

Nota: es caretpos.y pero no funciona igual...

Última edición por rauros fecha: 29-02-2008 a las 17:52:43.
Responder Con Cita
  #5  
Antiguo 29-02-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola...

Ese error se de mayormente cuando la propiedad que deseas modificar es de tipo Record o asignar un valor a una constante...

Tienes que buscar otro mecanismo para hacer lo que quieres, tal vez mediante un mensaje enviado al control TMemo...



Saludos...

Última edición por maeyanes fecha: 29-02-2008 a las 18:02:23.
Responder Con Cita
  #6  
Antiguo 29-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Para la próxima vez, ten en cuenta que "cada vez que clique" significa click del ratón, y tú lo que pides es "cada vez que pulse una tecla", o más simple, "teclee".

El evento OnKeyPress sólo captura teclas que escriben, y unas pocas más (Escape, Enter, Backspace, Tab...). Para todas las demás, tendrás que usar OnKeyDown u OnKeyUp (según pulses o sueltes).

Los valores de Key están listados en Virtual Key Codes (ayuda de Delphi). Todos empiezan por "VK_".


Salu2.
Responder Con Cita
  #7  
Antiguo 29-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
Tengo otra duda. Si dejas pulsado el botón se activa el evento cada x tiempo? No estoy en mi casa y no puedo comprobarlo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
componente editor de texto clanmilano Varios 1 23-01-2006 15:41:37
necesito editor de texto.... User_baja1 Varios 4 21-03-2005 11:53:30
Editor de Texto kael Varios 1 02-11-2004 18:18:42
Editor Texto Richedit cesar_picazo Varios 1 27-04-2004 18:34:59
Editor que resalte texto igest2000 Varios 0 10-12-2003 16:23:21


La franja horaria es GMT +2. Ahora son las 13:08:29.


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