SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: MindEye en Lunes 12 de Abril de 2004, 09:20

Título: Como Pasar El Foco A Otra Aplicación
Publicado por: MindEye en Lunes 12 de Abril de 2004, 09:20
- Vereis, el problema que tengo, es que los usuario del programa, a veces, abren la aplicacion, 3 y hasta 4 veces.

 - En tonces, lo que hice fue mirar si hay una instancia del programa, para no tener que habrir uno nuevo, pero no consiguo pasarle el foco.

 - Yo lo que quiero es poder pasarle el foco, para que se muestre en pantalla.

 - Gracias.
Título: Re: Como Pasar El Foco A Otra Aplicación
Publicado por: Jose Arriagada en Lunes 12 de Abril de 2004, 19:18
Cuando carga un form en pantalla, y se desea que el foco parta en algun lugar especifico, no lo puedes hacer en forma directa en el load.
Existen dos formas de hacerlo:
- En el evento Active del form, colocar:
    text1.setfocus
  Claro, que el unico detalle con esto, es que cada vez que te muevas a este form, el foco se va directamente al text1.

- La otra opcion, es ORDENAR la secuencia de focos. Esto es, como debe moverse el foco cada vez que pase de un control a otro usando el TAB.
  Para ello, utiliza la propiedad TABINDEX a cada control, partiendo del 0. Entonces veras, que el foco se posiciona inmediatamente en el control que le pusiste el TABINDEX=0, y si presionar el TAB, sigue la secuencia que creaste, o simplemente sigue la secuencia de insercion de controles que fuiste insertando.
Recuerda que el foco se va al menor valor TABINDEX que tenga la propiedad ENABLED=TRUE.

Espero te sirva
Título: Re: Como Pasar El Foco A Otra Aplicación
Publicado por: cpmario en Martes 13 de Abril de 2004, 05:17
Yo uso este código para evitar abrir la aplicación 2 veces

Código: Text
  1.  
  2.  
  3. Private Sub Form_Activate()
  4.    If App.PrevInstance = True Then
  5.       Dim SaveTitle As String
  6.       SaveTitle = App.Title
  7.       App.Title = "... programa duplicado."
  8.       frmMain.Caption = "... programa duplicado."
  9.       Text = "Actualmente está abierta -Título-."
  10.       Text = Text + vbCrLf + "Sólo es necesario abrir una a la vez."
  11.       MsgBox Text, vbExclamation, "Advertencia..."
  12.       AppActivate SaveTitle
  13.       SendKeys "% R", True
  14.       End
  15.    End If
  16. End Sub
  17.  
  18.  

 :hola: