Ir al contenido


Foto

set focus tdateedit


  • Por favor identifícate para responder
2 respuestas en este tema

#1 edgar_prospero

edgar_prospero

    Advanced Member

  • Miembros
  • PipPipPip
  • 136 mensajes

Escrito 25 junio 2012 - 11:10

que hayamigos a ver quien puede echarme una mano tengo un tdateedit que al darle el foco esta toda la fecha seleccionada y tengo que irme a la primera posicion manualmente para empezar a escribir si no se borra lo demas mi pregunta es hay alguna forma de cuando se ponga el foco solo sea en la primera posicion de la fecha porque a veces nomas necesito cambiar dia y no mes ni año
el codigo que uso para darle el foco al tdateedit con un enter es el siguiente



delphi
  1. procedure TForm1.inicialKeyPress(Sender: TObject; var Key: Char);
  2. begin
  3. if Key = #13 then
  4.   begin
  5.     Key := #0;
  6.     Perform(WM_NEXTDLGCTL, 0, 0);
  7.   end
  8. end;


  • 0

#2 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 26 junio 2012 - 08:44

que hayamigos a ver quien puede echarme una mano tengo un tdateedit que al darle el foco esta toda la fecha seleccionada y tengo que irme a la primera posicion manualmente para empezar a escribir si no se borra lo demas mi pregunta es hay alguna forma de cuando se ponga el foco solo sea en la primera posicion de la fecha porque a veces nomas necesito cambiar dia y no mes ni año
el codigo que uso para darle el foco al tdateedit con un enter es el siguiente



delphi
  1. procedure TForm1.inicialKeyPress(Sender: TObject; var Key: Char);
  2. begin
  3. if Key = #13 then
  4.   begin
  5.     Key := #0;
  6.     Perform(WM_NEXTDLGCTL, 0, 0);
  7.   end
  8. end;



No conozco tu control (¿alguna suite de componentes, tal vez?) pero hasta donde me ha tocado ver, todos los componentes de fecha en cuanto reciben el foco, conservan el contenido y se posicionan en la primera parte de los datos, en éste caso, el día (o como tengas definida tu máscara)...
  • 0

#3 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 27 junio 2012 - 03:19

En lugar de cambiar el key a cero, aprovecha el esfuerzo y convierte la tecla a la de inicio, que justo hace lo que quieres si la pulsases "a mano":



delphi
  1. procedure TForm1.inicialKeyPress(Sender: TObject; var Key: Char);
  2. begin
  3. if Key = #13 then
  4.   begin
  5.     Perform(WM_NEXTDLGCTL, 0, 0);
  6.     Key := VK_HOME;
  7.   end
  8. end;



No lo he probado, pero creo que debería funcionarte  *-)
  • 0




IP.Board spam blocked by CleanTalk.