Pregunta: | 24019 - QUITAR EL MENU POPUP DE WINDOWS |
Autor: | Juan Diego Pérez |
Me gustaría saber como se puede quitar el menu popup de windows que sale al pulsar el boton de derecho.
El que esta compuesto de : ---> Deshacer Cortar Copiar Pegar Eliminar Seleccionar todo Gracias. |
Respuesta: | adepadua |
Yo, utilizo esta forma para impedir que se abra el menú pop-up
Inserto un label y un timer Ejemplo: Private Sub Form_Load() lbMenú.ForeColor = &H8000000F End Sub Private Sub TMenú_Timer() lbMenú.Caption = lbMenú.Caption + 1 If lbMenú.Caption = "37" Then TMenú.Enabled = False lbMenú.Caption = "0" txtCodigo.Enabled = True End If End Sub Private Sub txtCodigo_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then txtCodigo.Enabled = False TMenú.Enabled = True End If End Sub Y en todos los cuadros de texto u otros controles, pongo el código de txtCodigo, cambiando el nombre del control claro está. Que lo disfrutes |
Respuesta: | Toasty |
Compañero, lo que pides es dificil de realizar, ya que entraña el uso de muuuuuchaaaaas API's, y de una técnica llamada SubClasing, qeu basicamente lo que hace es interceptar el paso de eventos desde el Sistema Operativo hacia en ultima instancia un control TextBox, por ejemplo.
Pero si quieres yo te doy mi solucion mas sencilla, que no implica el uso de ninguna API, ni de subclassing, ni de un exhaustivo conocimiento del lenguaje. Suponiendo que lo que te da problemas es un TextBox (se puede aplicar a otros controles), y que este se llama txtCodigo, lo que deberias hacer es lo siguiente con el evento MouseDown: Private Sub txtCodigo_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) If Button = vbRightButton Then txtCodigo.Enabled = False txtCodigo.Enabled = True End If End Sub Y con este codigo tan simple, tienes solucionado el problema |