Averiguar el Menu desplegado.

Iniciado por LeandroA, 29 Octubre 2008, 21:31 PM

0 Miembros y 2 Visitantes están viendo este tema.

LeandroA

buenas estoy intentado averiguar si es que hay un menú desplegado cual es osea...

tengo un form sublcasificado y tengo 3 menú
_________________________
Archivo | Edición | Ayuda
     _________________
     |----------------------|
     |----------------------|
     |----------------------|
     |----------------------|
     |----------------------|
     |________________|


y el menú Edición esta desplegado como puedo saber si el menú que esta desplegado es el de edición.

Saludos

aaronduran2

Si el formulario lo hiciste tú, puedes usar variables de tipo boolean.

Saludos.

LeandroA


Dessa

Hola Leandro, si no encontraste nada directo tal vez podrias usar GetWindowRect para reconocer el tamaño de cada uno (no creo que sean iguales) tendrias que calcular tambien la resolucion de pantalla. saludos
Adrian Desanti

LeandroA

que haces Dessa tanto tiempo, mm pero debe haber alguna manera con apis


Saludos

seba123neo

o algun mensaje de windows que detecte cuando se despliega el menu...busque y hay un monton...pero no se cual podria ser...
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

Dessa

Viste Leandro ... resucité , si no encuentran nada directo, a mi me parece que con un IF en un timer que busque la classe (si no es #32768 pega en el palo), y que busque el Left de cada menú con respecto al formulario contenedor (calculado en porcentaje por si hay cambio de resolucion) tendria que ir , por lo menos como plan "B".

Super saludos a ambos.

Adrian Desanti

el_c0c0

che leandro y con algun mensaje de estos?

Código (vb) [Seleccionar]
Private Const WM_MENUCHAR As Long = &H120
Private Const WM_MENUCOMMAND As Long = &H126
Private Const WM_MENUDRAG As Long = &H123
Private Const WM_MENUGETOBJECT As Long = &H124
Private Const WM_MENURBUTTONUP As Long = &H122
Private Const WM_MENUSELECT As Long = &H11F


saludos
'-     coco
"Te voy a romper el orto"- Las hemorroides

Dessa

Adrian Desanti

el_c0c0

nose si con esos mensajes funciona, mira cobein me recomendo que le pegara una leidita al codigo de NeoCaption de VBAccelerator:
http://www.vbaccelerator.com/home/VB/Code/Controls/Skins/VB6_NeoCaption_Full_Source.asp, ahi fijate en el modulo "cMenuBar.cls", desde ya te digo que es un quilombo porque tenes que manejar todos los eventos como el alt para que muestre el foco en un menu, los aceleradores de tecla, etc... pero ahi en ese modulo esta lo que buscas.. esta en las funciones MenuHitTest y HitTest..
es facil para eso solo, pero viendo ese modulo te das cuenta que tenes que implementar todo lo demas para que funcione bien :/...

en fin, saludos!
'-     coco
"Te voy a romper el orto"- Las hemorroides