Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/11/2005, 07:58
Avatar de The_Pretorian
The_Pretorian
 
Fecha de Ingreso: diciembre-2004
Ubicación: Lima - Peru
Mensajes: 267
Antigüedad: 20 años
Puntos: 0
Buenos Dias
Hace poco tuve ese requerimiento y me ayudaron con este ejemplo... lo modifique a mis necsidades y para que me saco del apuro. Espero te sirva
Cita:
Option Explicit
Dim varNumSeg As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
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

Public Sub SlideForm(FRM As Form, Direction As Long)
Select Case Direction
Case 0 'Deliza un formulario hacia arriba
FRM.Show
Do Until FRM.Top = (Screen.Height - FRM.Height) - 435
FRM.Top = FRM.Top - 1
DoEvents
Loop
Case 1 'Deliza un formulario hacia abajo
Do Until FRM.Top = Screen.Height + (FRM.Height)
FRM.Top = FRM.Top + 1
DoEvents
Loop
End Select
End Sub

Private Sub ComAceptar_Click()
FrmDetalle.Show vbModal
End Sub

Private Sub ComCancelar_Click()
SlideForm Me, 1
Unload Me
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim CtrlDown As Long
CtrlDown = (Shift And vbCtrlMask) > 0
If KeyCode = vbKeyEscape Then
ComCancelar_Click
ElseIf KeyCode = vbKeyReturn Then
ComAceptar_Click
End If
End Sub

Private Sub Form_Load()
Me.ScaleMode = 3
'Ubica la ventana justo sobre el Tray, arriba del reloj
Me.Move (Screen.Width - Me.Width) - 500, Screen.Height
SlideForm Me, 0
TopMost Me 'ventana por encima de las demas
End Sub

Sub TopMost(Ventana As Form)
'MANTIENE LA VENTANA POR ENCIMA DE LAS DEMAS
'typically called in the form load
Call SetWindowPos(Ventana.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
End Sub

Private Sub ImaCerrar_Click()
SlideForm Me, 1
Unload Me
End Sub

Private Sub TimAlerta_Timer()
varNumSeg = varNumSeg + 1
LblDeta01(2).Caption = "El Mensaje se cerrara en " & 10 - varNumSeg & " seg."
If varNumSeg = 10 Then
ImaCerrar_Click
End If
End Sub
Atte
Jorge Diaz
__________________
Creo que todas las cosas suceden por algo, no es eso que los demas llaman 'Destino'. Definitivamente Dios no juega a los dados...