Como corregir ...Popup menu se muestra en el form

Iniciado por byway, 11 Diciembre 2008, 04:54 AM

0 Miembros y 1 Visitante están viendo este tema.

byway


Como podran ver en la imagen al mover el mouse por el form muestra el menu flotante... del systray, pero esto solo sucede cuando el form es un poco grande .. si es pekeño no se ve este error...

uso este codigo : http://www.snapdrive.net/files/202548/vb60/ejemplo.rar

tambien probe un modulo de Leandro ... y sigue con el mismo detalle de mostrar el menu al mover el mouse por esa region del form...

a alguien le ha pasado o sabe como corregir esto... gracias de antemano

seba123neo

Hola, a los menues popup les podes decir la ubicacion X,Y donde queres que aparescan...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

byway

si lo se .. pero en este caso no necsito que se muestre en ninguna parte del form... puesto que es solo para el systray...

esto es lo que uso para ello:

Código (vb) [Seleccionar]
Public Sub Eventos(X As Single)
   
Dim msg As Long
  If (Form1.ScaleMode = vbPixels) Then
    msg = X
  Else
    msg = X / Screen.TwipsPerPixelX
  End If
 
  Select Case msg
   
    Case WM_RBUTTONUP
      Call SetForegroundWindow(Form1.hwnd)
      'Si hacemos Click con el boton derecho mostramos el popup Menu
      Form1.PopupMenu Form1.menu
    Case WM_LBUTTONUP
      Call SetForegroundWindow(Form1.hwnd)
      'Si hacemos Click con el boton izquierdo mostramos el popup Menu
      Form1.PopupMenu Form1.menu
  End Select
   
End Sub


y lo llamo con:
Código (vb) [Seleccionar]
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Eventos X
End Sub


y aki esta el detalle como es Form_MouseMove de alguna manera esta lo muestra en el form principal.. algo que no deberia pasar.

salu2.




cobein

El codigo para manejar los eventos del systray esta mal, por eso.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

LeandroA

hola si yo tambien siempre tuve ese problema si utilizaba el hwnd del formulario, nose, una rapida para salir de paso, puede ser utilizando un control por ejemplo
systray.hwnd = Form1.Picture1.hwnd
y llamar desde el evento

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Eventos X
End Sub

Saludos

seba123neo

yo nunca tuve problemas,proba usar la clase de cobein cSystray que es re facil...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

byway

Cita de: cobein en 12 Diciembre 2008, 22:10 PM
El codigo para manejar los eventos del systray esta mal, por eso.

de seguro porke si estuviese bien no mostraria ese detalle  ;D

Cita de: seba123neo en 13 Diciembre 2008, 15:55 PM
yo nunca tuve problemas,proba usar la clase de cobein cSystray que es re facil...

saludos.

pues si lo tengo y lo revise ... esta muy.. pero muy bien ... tanto que me gustaria ponerlo en mi aplicacion .. pero el detalle es que es muy grande ...tiene algo de 69 kb... es mas pesado que mi propia aplicacion  ;D...
pero si no  keda bien con algun otro metodo mas simplificado ... no habra mas solucion que usarlo..

bueno gracias por sus respuestas..

Saludos.

seba123neo

Cita de: bywaypero el detalle es que es muy grande ...tiene algo de 69 kb

jaja si vieras los proyectos grandes de verdad...aparte cuando se genera el .exe no te suma 69kb , te suma un poco menos de la mitad....eso de que te muestra el menu mientras esta normal el formulario,es porque debes usar el evento Resize del formulario para saber cuando esta normal y caundo esta minimizado y asi mostrar o no el menu...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

byway

bueno .. con la sugerencia de Leandro de tomar el hwind de un control para el systray ... quedo mejor que antes.  ;D

bueno seba lo del tamaño ... si vi proyectos grandes y complejos... pero este en particular es pekeñisimo y por lo que hace y tiene ... solo para el systray se llevaria muchos kb.  ;D ;D ;D

es la misma razon por la cual solo necsito que sea lo mas simplificado posible ... lo del systray  ;D

y lo de Resize no lo estoy usando .. es mas ni bordes tiene el form de mi aplicacion y no es tan pekeño la interfaz (por la imagen de fondo)  ;D

bueno gracias por sus comentarios .