Jump to content


Photo

set focus tdateedit


  • Please log in to reply
2 replies to this topic

#1 edgar_prospero

edgar_prospero

    Advanced Member

  • Miembros
  • PipPipPip
  • 136 posts

Posted 25 June 2012 - 11:10 AM

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
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 26 June 2012 - 08:44 AM

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
  • 1092 posts
  • LocationMurcia, España

Posted 27 June 2012 - 03:19 AM

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.