Visual Basic - Urgente

Life is soft - evento anual de software empresarial
 
Vista:

Urgente

Publicado por GaboMaCano (3 intervenciones) el 04/04/2001 16:15:55
Hola Maestros, les envio un saludo desde chile, Tengo un problema grave, como puedo desactivar el boton del menu inicio, o en su defecto que mi formulario sea del tamano de toda la pantalla y forzarlo a que siempre sea de ese tamano (fullscreen), creo que con esto se tapa el boton del menu inicio de windows., Espero ,que me puedan ayudar.. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Urgente

Publicado por Adán (39 intervenciones) el 05/04/2001 07:42:06
Para que el form ocupe toda la pantalla solo tienes que usar:

With Me
.Left=0
.Top=0
.Width=Screen.Width
.Height=Screen.Height
End With

Pero no te servirá de nada si quieres desabilitar el botón de inicio, por lo que además puedes simular que tu aplicación es el protector de pantalla evitando que funcionen las teclas CTL+ALT+SUPR, ALT+TAB, WIN, etc. de la siguiente forma:

'Coloca todo esto en un módulo
Public Const SPI_SCREENSAVERRUNNING = 97
Public Declare Function SystemParametersInfo Lib "USER32" _
Alias "SystemParametersInfoA" (ByVal uAction As Long, _
ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni _
As Long) As Long

Public Sub BloquearDesbloquearVentana(bloqueo As Boolean)
Dim ret As Integer
Dim pOld As Boolean
ret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, bloqueo, pOld, 0)
End Sub
'Sólo llama a la función así:
Para habilitar teclas, BloquearDesbloquearVentana(False)
Para deshabilitar teclas y simular el protector, BloquearDesbloquearVentana(True)
Ten cuidado de volver a habilitar la función cuando acabes de usarlo.

Otra opción si no quieres maximizar tu form es la siguiente:

'Coloca lo siguiente en un módulo
Type RECT
left As Integer
top As Integer
right As Integer
bottom As Integer
End Type

Type POINT
X As Long
Y As Long
End Type
Public Declare Sub ClipCursor Lib "USER32" (lpRect As Any)
Public Declare Sub OffsetRect Lib "USER32" (lpRect As RECT, ByVal X As Long, ByVal Y As Long)
Public Declare Sub GetClientRect Lib "USER32" (ByVal hwnd As Long, lpRect As RECT)
Public Declare Sub ClientToScreen Lib "USER32" (ByVal hwnd As Long, lpPoint As POINT)

'Ahora coloca lo siguiente en tu form que vas a mostrar:

Private Sub cClipCursor(bloqueo As Boolean)
Dim client As RECT
Dim upperleft As POINT
If bloqueo Then
GetClientRect Me.hwnd, client
upperleft.X = client.left
upperleft.Y = client.top
ClientToScreen Me.hwnd, upperleft
OffsetRect client, upperleft.X, upperleft.Y
ClipCursor client
Else
ClipCursor ByVal 0&
End If
End Sub

De igual forma: cClipCursor(True) bloquea, cClipCursor(False) desbloquea.

De este modo con las dos funciones que te di el usuario no podrá accesar al botón de inicio ni con teclado ni con mouse, ya que el primer procedimiento desactiva esas teclas específicas y el segundo no permite que el mouse salga de tu form.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente

Publicado por GaboMaCano (3 intervenciones) el 06/04/2001 22:43:27
Gracias Adan por tu respuesta, ahora molesto de nuevo como puedo desabilitar la tecla CTRL o la convinación CTRL+N, te envie un mail Adan de todas formas.Espero tu respuesta
y gracias por lo anterior.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar