alwaysontop
Publicado por juan manuel fusero (31 intervenciones) el 10/11/2006 23:25:38
hola a todos:
estoy haciendo una validacion de textbox y quiero que, cuando el usuario no haya ingresado nada por ejemplo, me aparezca un formulario llamado mensajes que se superponga al formulario de logeo. utilize una api que transcribo a continuacion (la hice en un modulo):
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 Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_SHOWWINDOW = &H40
Public Sub AlwaysonTop(Mensajes As Form, estado As Boolean)
Dim wFlags As Long
Dim ret As Long
wFlags = SWP_NOMOVE Or SWP_NOSIZE
If estado Then
ret = SetWindowPos(Mensajes.HWND, HWND_TOPMOST, 0, 0, 0, 0, wFlags)
Else
ret = SetWindowPos(Mensajes.HWND, HWND_NOTOPMOST, 0, 0, 0, 0, wFlags)
End If
End Sub
el problema es que cuando llamo la funcion alwasontop desde un textbox con el siguiente codigo:
if (textbox="") then
AlwaysonTop(Mensajes)
end if
me aparece un error diciendo que los tipos no coinciden. lo que quisiera saber es si declare bien la funcion y poruqe me aparece este error.
agradeceria cualquier respuesta.
estoy haciendo una validacion de textbox y quiero que, cuando el usuario no haya ingresado nada por ejemplo, me aparezca un formulario llamado mensajes que se superponga al formulario de logeo. utilize una api que transcribo a continuacion (la hice en un modulo):
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 Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_SHOWWINDOW = &H40
Public Sub AlwaysonTop(Mensajes As Form, estado As Boolean)
Dim wFlags As Long
Dim ret As Long
wFlags = SWP_NOMOVE Or SWP_NOSIZE
If estado Then
ret = SetWindowPos(Mensajes.HWND, HWND_TOPMOST, 0, 0, 0, 0, wFlags)
Else
ret = SetWindowPos(Mensajes.HWND, HWND_NOTOPMOST, 0, 0, 0, 0, wFlags)
End If
End Sub
el problema es que cuando llamo la funcion alwasontop desde un textbox con el siguiente codigo:
if (textbox="") then
AlwaysonTop(Mensajes)
end if
me aparece un error diciendo que los tipos no coinciden. lo que quisiera saber es si declare bien la funcion y poruqe me aparece este error.
agradeceria cualquier respuesta.
Valora esta pregunta


0