Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   TEdit no responde a OnKeyPress (https://www.clubdelphi.com/foros/showthread.php?t=30691)

salvica 14-04-2006 16:13:17

TEdit no responde a OnKeyPress
 
Hola a tod@s, de nuevo recurro a vosotr@s :D:D

Dado que el componente TEdit (dichoso) no me permite alinearlo, estoy intentando hacer una rutina genérica metiéndolo en un TPanel, pero, no sé porqué, no me responde al evento OnKeyPress :confused:

El código es el siguiente:
Código Delphi [-]
procedure TForm1.Edit_ENTRADA_OnKeyPress(Sender: TObject; var Key: Char);
var
  Panel : TPanel;
  Alias : string;
begin
{ esto lo pongo para seguimiento, pero por aquí no pasa }
  Panel_DATOS.Caption  := '['+Alias+' ha pasado por aquí]';
  if( Key=#13 ) then begin
      Key := #0;
      Alias                := Trim(Edit_ENTRADA.Parent.Name);
    { esto lo pongo para seguimiento, pero por aquí tampoco pasa }
      Panel_DATOS.Caption  := '['+Alias+']';
    { buscar el panel sobre el que está puesto }
      Panel                := FindComponent(Alias) as TPanel;
    { copiar el texto del Edit en el Panel que lo contiene }
      Panel.Caption        := Edit_ENTRADA.Text;
    { quitarlo de enmedio }
      Edit_ENTRADA.Visible := false;
      Edit_ENTRADA.Parent  := Panel_DATOS;
  end;
end;
El TEdit lo pongo sobre un panel determinado, le doy tamaño y el foco desde el evento OnChange de un ComboBox y funciona sin problemas, pero no consigo que al acabar de meter texto se desactive y se oculte.

Gracias por adelantado por la ayuda que podais prestarme
Salvica

Pdta.:
Se me olvidaba, Proyecto CLX, Delpi-7, Windows2K
Gracias de nuevo.
Salvica

roman 15-04-2006 04:16:10

Cita:

Empezado por salvica
Dado que el componente TEdit (dichoso) no me permite alinearlo

El mío sí.

// Saludos

salvica 16-04-2006 10:21:08

¿que componentes usas?
 
Cita:

Empezado por roman
El mío sí.

// Saludos

¿perdón?
Código Delphi [-]
type
   TForm1 = class(TForm)
   .....
     Edit_ENTRADA: TEdit;
   .....
  end;
Propiedades del TEdit:
Código:

Alignment = [taCenter, taLeftJustify, taRightJustify]; // alineación del texto
Anchors = [akLeft, akTop, akRight, akBottom];
Autoselect = [true, false];
Autosize = [true, false]
BorderStyle = [bsNonen, bsSingle]
[.....]

¿No deberia de haber una propiedad Align = Alineación del objeto? En el mio no aparece

Sobre el tuyo, sabía que existía un objeto con esas propiedades (lo encontré en "Buscar") pero los enlaces no estaban accesibles (supongo que por el cambio de formato de la Web), en este último que me pones ya aparece, pero es para alinear el texto en el objeto (cosa que hace el original)

Supongo que es por usar objetos "Q" (ya digo al principio que el proyecto es "CLX"), puesto que posteriormente intentaré migrar el proyecto a "Kylix".

De todas formas, el problema viene, (como ya dije), porque no me responde al evento OnKeyPress.

He cambiado el código al evento OnExit y funciona, pero ahora pierdo el valor de la variable "Sender" que es donde le indico sobre qué TPanel debe posicionarse y me obliga a utilizar una variable global para hacer lo mismo. En fin, un poco más de código.

Gracias por intentarlo
Saludos: salvica

Pdata: Enhorabuena por el nuevo formato, ya solo falta que integreis de nuevo la sección Trucos que era de gran ayuda.
Abrazos para tod@s: salvica


La franja horaria es GMT +2. Ahora son las 12:57:26.

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