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

Que no salga menu al pulsar Botón Drcho

Estas en el tema de Que no salga menu al pulsar Botón Drcho en el foro de Visual Basic clásico en Foros del Web. Salu2. Es posible que al pulsar el botón Drcho . del raton sobre un campo de texto no salga el menu típico de windows, copiar, ...
  #1 (permalink)  
Antiguo 09/06/2007, 13:28
Avatar de sagutxo  
Fecha de Ingreso: octubre-2006
Mensajes: 78
Antigüedad: 17 años, 6 meses
Puntos: 0
Que no salga menu al pulsar Botón Drcho

Salu2. Es posible que al pulsar el botón Drcho. del raton sobre un campo de texto no salga el menu típico de windows, copiar, pegar, ... .

Muchas gracias.
  #2 (permalink)  
Antiguo 09/06/2007, 16:22
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Que no salga menu al pulsar Botón Drcho

hola,proba con esto:

en un modulo pone:

Option Explicit

Public Declare Function SetWindowLong Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Public Declare Function CallWindowProc Lib "user32" _
Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _
ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long

Public Const GWL_WNDPROC = (-4)

Public Const WM_CONTEXTMENU = &H7B

Global lpPrevWndProc As Long
Global gHW As Long

Public Sub Hook()
lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, _
AddressOf gWindowProc)
End Sub

Public Sub Unhook()
Dim temp As Long
temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc)
End Sub

Public Function gWindowProc(ByVal hWnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
If Msg = WM_CONTEXTMENU Then
Debug.Print "Intercepted WM_CONTEXTMENU at " & Now
gWindowProc = True
Else
gWindowProc = CallWindowProc(lpPrevWndProc, hWnd, Msg, wParam, _
lParam)
End If
End Function

en el formulario con el textbox pone:

Private Sub Form_Load()
gHW = Text1.hWnd
Hook
End Sub

Private Sub Form_Unload(Cancel As Integer)
Unhook
End Sub

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 16/06/2007, 06:45
Avatar de sagutxo  
Fecha de Ingreso: octubre-2006
Mensajes: 78
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Que no salga menu al pulsar Botón Drcho

Muchas gracias por ayudarme pero este código me da un error de compilacion

Código:
lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, _ 
AddressOf gWindowProc)
Uso no válido del operador AddressOf
  #4 (permalink)  
Antiguo 16/06/2007, 07:48
Avatar de sagutxo  
Fecha de Ingreso: octubre-2006
Mensajes: 78
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Que no salga menu al pulsar Botón Drcho

Ya he conseguido compilarlo, pero me sigue saliendo el menu :(
  #5 (permalink)  
Antiguo 16/06/2007, 08:18
Avatar de sagutxo  
Fecha de Ingreso: octubre-2006
Mensajes: 78
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Que no salga menu al pulsar Botón Drcho

Conseguido . Muchísimas grácias, sin tu código no lo hubiera conseguido.
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 12:27.