obtener enfoque al iniciar el sistema ?

96 views
Skip to first unread message

Saúl Piña

unread,
Nov 23, 2015, 12:07:48 PM11/23/15
to Comunidad de Visual Foxpro en Español
Buenos dias,

Siempre me ha gustado saber como puedo tener el enfoque en un textbox al iniciar el sistema?

El escenario:

Tengo un formulario "Acceso.scx" y on textbox para escribir el nombre del usuario. Es justo alli donde me gustaria tener el enfoque.

Seguimiento del programa:
El programa tiene como menu principal un formulario con Ribbon, pero antes de ingresar al formulario Principal, es necesario que el usuario acceda antes.
No utilizo pantalla Principal de VFP ni tampoco menu.mnx

en el main principal oculto la ventana principal de VFP:
_screen.visible=.f.

posteriormente los Seteos y finalmente ejecuto el formulario "Acceso.scx", si se muestra, pero no tiene enfoque, es decir debo hacer clic sobre el formulario u objeto del formulario para enfocar. 

Alguna sugerencia?

gracias



Ultraton500

unread,
Nov 23, 2015, 2:13:25 PM11/23/15
to Comunidad de Visual Foxpro en Español
Hola Saúl, yo tuve el mismo problema y lo solucioné agregando "SCREEN = OFF" en el archivo "config.fpw". Si no tienes este archivo crea un .txt, le cambias la extensión y luego lo agregas al directorio de la aplicación.
Espero te sea de utilidad.

Saludos,
Javier.

D CA

unread,
Nov 23, 2015, 2:28:10 PM11/23/15
to publice...@googlegroups.com
En el init del formulario debes colocar:
This.text1.SetFocus()

También lo puedes hacer en tiempo de diseño: Menú > View > Tab Order > Assign Interactively
Seleccionas el textbox para que tenga el número uno, que significa que ese objeto será el primero en recibir el foco.

Imágenes integradas 1


Saludos.

Walter Sánchez

unread,
Nov 24, 2015, 1:21:08 AM11/24/15
to publice...@googlegroups.com
* ESTAS LINEAS SON PARA QUE AL EJECUTAR EL EXE LA PANTALLA SALGA ACTIVADA
DECLARE Integer SetForegroundWindow IN WIN32API Integer nHwnd 
DECLARE Integer FindWindow IN WIN32API String cNull, String cWinName
nFoxHwnd = FindWindow(.Null., _Screen.Caption)
=SetForegroundWindow(nFoxHwnd)

solo debe ponerlo en el init de tu Acceso.scx

Fernando D. Bozzo

unread,
Nov 25, 2015, 8:28:47 AM11/25/15
to Comunidad de Visual Foxpro en Español
En circunstancias normales, y acomodando el orden de navegación de los controles como la imagen que adjuntaste, no es necesario usar SetFocus. Ese método solo debería usarse para cambiar el flujo de navegación, no para iniciarlo.

Saludos.-
Reply all
Reply to author
Forward
0 new messages