Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como esconder controles segun un tiempo determinado?

Estas en el tema de Como esconder controles segun un tiempo determinado? en el foro de Visual Basic clásico en Foros del Web. Tengo una nueva pregunta como puedo esconder controles segun pasen determinados segundos de tiempo, supongo que debe ser con un timer ok planteo el caso: ...
  #1 (permalink)  
Antiguo 14/12/2005, 10:26
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 4 meses
Puntos: 0
Como esconder controles segun un tiempo determinado?

Tengo una nueva pregunta como puedo esconder controles segun pasen determinados segundos de tiempo, supongo que debe ser con un timer ok planteo el caso:

Supongamos que a determinada hora Las 8:00:00 de la noche el programa de be hacerle una pregunta al usuario con un message box este debe responder si o no y en caso de que no responda en 10 segundos (8:00:10) el message se borre (o se oprima por default ya sea el si o el no).

Se puede hacer con msbox? o seria mas factible con labels y textbox y commands???
  #2 (permalink)  
Antiguo 14/12/2005, 10:48
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
Proba asi:
Código:
' En un Modulo:
Public Const NV_CLOSEMSGBOX As Long = &H5000&
Public Declare Function SetTimer& Lib "user32" (ByVal hWnd&, ByVal nIDEvent&, _
ByVal uElapse&, ByVal lpTimerFunc&)
Public Declare Function FindWindow& Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName$, ByVal lpWindowName$)
Public Declare Function LockWindowUpdate& Lib "user32" (ByVal hwndLock&)
Public Declare Function SetForegroundWindow& Lib "user32" (ByVal hWnd&)
Public Declare Function MessageBox& Lib "user32" Alias "MessageBoxA" _
(ByVal hWnd&, ByVal lpText$, ByVal lpCaption$, ByVal wType&)
Public Declare Function KillTimer& Lib "user32" (ByVal hWnd&, ByVal nIDEvent&)
Public Const API_FALSE As Long = 0&

Public Sub TimerProc(ByVal hWnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&)
    KillTimer hWnd, idEvent
    Dim hMessageBox&
    hMessageBox = FindWindow("#32770", "AutoCerrado")
    If hMessageBox Then
        Call SetForegroundWindow(hMessageBox)
        SendKeys "{enter}"
    End If
    Call LockWindowUpdate(API_FALSE)
End Sub

' En un boton del Form
Private Sub Command1_Click()
    'Sustituye 4000 por el nº de milisegundos que quieres que el mensaje aparezca
    '1000 milisegundos=1 segundo
    SetTimer hWnd, NV_CLOSEMSGBOX, 4000&, AddressOf TimerProc
    Call MessageBox(hWnd, "Este mensaje desaparecerá en 4 segundos", _
                   "AutoCerrado", MB_ICONQUESTION Or MB_TASKMODAL)
End Sub
Creditos a Alexander Mendez, podes descargar el proyecto aqui (clic derecho al vinculo y en el menu selecciona Guardar destino como)
Saludos

Última edición por jc_moty; 14/12/2005 a las 11:18
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:40.