Ver Mensaje Individual
  #8  
Antiguo 19-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por jhonny
Solo he escrito este Post para decirte que si lo que pretendes es que el primer foco lo tome el Edit1 Solo basta con que pongas Edit1 en la proiedad ActiveControl del Formulario.
O bien colocarlo al principio del orden de tabulación. Salvo contadas excepciones, en mis formularios el ActiveControl es siempre el primero en la tabulación.

También hago la observación de que en principio, las sentencias ListBox1.Clear y Edit1.Clear son innecesarias en el evento OnCreate. La única forma de que tengan datos previos es que no hayan sido borrados durante el diseño.

Y para puntualizar un poco, respecto de este comentario

Cita:
Empezado por jhonny
No se pude garantizar que estos objetos esten creados cuando sea "Disparado" el evento OnCreate
de hecho sí se puede garantizar, al menos mientras la propiedad OldCreateOrder del formulario sea false (el valor por defecto).

Antiguamente (Delphi <= 3) el evento OnCreate se lanzaba desde el mismo constructor del formulario pero ahora se lanza desde el método AfterConstruction que se ejecuta una vez que se ha terminado completamente la construcción del formulario- y por tanto de todas sus subcomponentes.

Lo que sucedió en este caso, es que el formulario- si bien ya construído -aún no es visible y por ello, cambios de foco como Edit1.SetFocus deben hacerse en el evento OnShow que ocurre después de que el formulario se ha hecho visible.

// Saludos
Responder Con Cita