• Domingo 22 de Diciembre de 2024, 23:06

Autor Tema:  Como Pasar El Foco A Otra Aplicación  (Leído 4302 veces)

MindEye

  • Miembro MUY activo
  • ***
  • Mensajes: 185
    • Ver Perfil
Como Pasar El Foco A Otra Aplicación
« en: Lunes 12 de Abril de 2004, 09:20 »
0
- 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.

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Como Pasar El Foco A Otra Aplicación
« Respuesta #1 en: Lunes 12 de Abril de 2004, 19:18 »
0
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

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Como Pasar El Foco A Otra Aplicación
« Respuesta #2 en: Martes 13 de Abril de 2004, 05:17 »
0
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: