Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/12/2011, 03:26
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: ventana pierde el foco cuando la llamo,convinacion de teclas

¿Has probado la api setfocus?
Private Declare Function SetFocus Lib "user32" (ByVal hWnd As Long) As Long

¿Has probado a hacer la ventana "Siempre visible"?
Puedes hacerla siempre visible y luego dejarla de nuevo normal.

Código vb:
Ver original
  1. Private Const conHwndTopmost = -1
  2. Private Const conHwndNoTopmost = -2
  3. Private Const conSwpNoSize = &H1
  4. Private Const conSwpNoMove = &H2
  5. Private Const conSwpNoActivate = &H10
  6. Private Const conSwpShowWindow = &H40
  7. Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cX As Long, ByVal cY As Long, ByVal wFlags As Long) As Long
  8.  
  9.  
  10. Sub SiempreVisibleOn(ByVal lhWnd As Long)
  11.   SetWindowPos lhWnd, conHwndTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpNoMove Or conSwpNoSize
  12. End Sub
  13.  
  14. Sub SiempreVisibleOff(ByVal lhWnd As Long)
  15.   SetWindowPos lhWnd, conHwndNoTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpNoMove Or conSwpNoSize
  16. End Sub

PD: Quizá tengas que quitar el conSwpNoActivate para que la enfoque. Yo siempre lo he usado tal cual.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 13/12/2011 a las 03:41