La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Delphi/976901-edit.setfocus.html

edit.setfocus

edit.setfocus

Publicado por David (55 intervenciones) el 19/05/2008 12:54:44
Muy buenas a todos y gracias de antemano.

Este es mi problema:

Necesito poner el cursor en un edit cuando llevo a cabo un evento.

me explico.

En un programa de facturas cuando se muestra el formulario el cursor no me aparece en el edit que necesito hasta que no le activo con el raton. le pongo en el evento formcreate edit1.setfocus y me lanza un error.

'el error es que no puede hacer eso en una invisible window'

Gracias.

RE:edit.setfocus

Publicado por Fer (43 intervenciones) el 19/05/2008 13:03:10
Establece el valor de la propiedad "ActiveControl" del form de tal modo que haga referencia al control (en tu caso edit1) que quieres que tome el foco cuando aparezca la pantalla.

RE:edit.setfocus

Publicado por alberto (1 intervención) el 19/05/2008 18:41:13
Hola David, te doy tres opciones para esto:

1.- Lo que tienes que hacer, es establecer el "Tab Order" en cada uno de los controles que tienes en tu FORM desde el IDE. Lo puedes hacer poniendote sobre el control que deseas que contenga el cursor y en la propiedad: "TabOrder" darle el valor "0" para que este sea el primero.

2.- Tambien lo puedes hacer dando "Right-Click" en el FORM y seleccionado la opcion "Tab Order" y alli puedes ordenar todos los controles de una solo vez.

3.- Y otra forma seria por medio de programacion, en el evento "FormShow" del FORM,

.
.
.

procedure TForm1.FormShow(Sender: TObject);
begin
//El control "Edit1" tiene el foco (el cursor) en la forma al arrancar.
Edit1.SetFocus();
end;

.
.
.

Pero personamente te recomiendo que uses la opcion 2, ya que de esa manera puedes establecer de una sola vez el orden de navegacion en los controles, por ejemplo, en una forma en donde debes entrar varios campos, al darle tab, automaticamente bricaria al siguiente campo (segun el tab order que establescas).

RE:edit.setfocus

Publicado por David (55 intervenciones) el 26/05/2008 15:30:00
Gracias me sirvio de mucho vuestra ayuda.

siento la tardanza estuve configurando otras cosillas.

Gracias de nuevo

RE:edit.setfocus

Publicado por juancho (193 intervenciones) el 20/05/2008 16:40:10
No puedes darle SetFocus en el create por que tu formulario aun no se muestra a menos que le dees True a la propiedad visible de tu formulario pero resulta incomodo por que te lo va a mostrar cuando crees el mismo, pero si puedes hacerlo en el show.
Lo que pasa es que al darle Show o ShowModal reicien pone el formulario como Visible, solo es eso.

RE:edit.setfocus

Publicado por vrvs (1 intervención) el 15/04/2009 04:09:11
como se usa la propiedad SETFOCUS en:
visual basic
visual fox pro
Delphi