ayuda, como hacer que un formulario este sobre todo?

genocid
20 de Febrero del 2005
Por favor necesito ayuda con un programita (de un solo formulario) que hice, lo unico que me falta es lograr que este formulario este sobre todo, sin importar que otras aplicaciones se habran el este sobre ellas, sobre todo las aplicaciones del tipo simbolo de sistema.
por favor agradecere cualquier ayuda que puedan darme.

ResuelveDudas?
20 de Febrero del 2005
Contesto a tu duda sobre como poner un formulario encima de todos :

\'Pega lo de a continuación en un módulo

#If Win16 Then
\'Para 16-Bit-Windows
Declare Function SetWindowPos Lib "user" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Long, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
#ElseIf Win32 Then
\'Para 32-Bit-Windows
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
#End If

Public Sub WindowOnTop(frm As Form)
\'Ventana permanente en trasfondo
X% = frm.Left
Y% = frm.Top
w% = frm.Width
h% = frm.Height
TwipsToPixel X%, Y%
TwipsToPixel w%, h%
SetWindowPos frm.hwnd, -1, X%, Y%, w%, h%, &H50
End Sub

Public Sub WindowNotOnTop(frm As Form)
\'Liberar ventana en trasfondo
X% = frm.Left
Y% = frm.Top
w% = frm.Width
h% = frm.Height
TwipsToPixel X%, Y%
TwipsToPixel w%, h%
SetWindowPos frm.hwnd, -2, X%, Y%, w%, h%, &H50
End Sub

Public Sub TwipsToPixel(xWert%, yWert%)
ux% = Screen.TwipsPerPixelX
xWert% = xWert% / ux%
uy% = Screen.TwipsPerPixelY
yWert% = yWert% / uy%
End Sub

\'Y en el evento Form_Load del formulario que desees posicionar encima de todo, simplemente, esto :

WindowOnTop Me

\'Si quieres desactivar esta función, bastará con poner :

WindowNotOnTop Me

\'CONSEJO : AL LLAMAR A LA FUNCIÓN WindowOnTop Me en el evento Form_Load, el formulario en cuestion aparecerá encima de todo pero como grisáceo, como si no tuviera el foco. Para evitar esto, simplemente, debajo de WindowOnTop Me escribe :

Me.Show

\'Otra cosa : la función WindowOnTop Me debe ir siempre la primera (en lo más alto de todo) del evento Form_Load, para que funcione.

Espero que esto te sirva de ayuda.