PDA

Ver la Versión Completa : Menus de acuerdo a opciones


oscarac
21-11-2007, 07:55:21
Saludos
quisiera hacer una aplicacion en la cual en la parte superior se
muestren unos botones y que cada vez que presione uno de esos
botones, al lado izquierdo (en un panel obvio que un poco mas abajo) se muestre un menu que
estara de acuerdo al boton marcado, no se si me dejo entender
Ejemplo

XXXX YYYYY ZZZZZ 11111 22222 333333 -> en un panel

hacemos click en YYYY y aparece un menu

YYYY1
YYYY2
YYYY3 en otro panel
YYYY4
YYYY5

hacemos click en ZZZZZ y aparece un menu
ZZZZ1
ZZZZ2
ZZZZ3 en el mismo panel que el anterior menu
ZZZZ4

se puede hacer eso? o es que estoy delirando

gracias

Lepe
21-11-2007, 11:05:24
Se puede.

Necesitas un mecanismo para diferenciar qué botón se ha pulsado, y después, en tiempo de ejecución es cuando asignas el menú.

A cada botón, en el inspector de objetos, le pones un número en la propiedad Tag, por ejemplo:

boton XXXX YYYYY ZZZZZ 11111 22222 333333
tag 1 2 3 4 5 6

A todos los botones, le pones el mismo evento Onclick, y en dicho evento:

case TButton(Sender).tag of
1 : panel1.popupmenu := ppxxx1;
2 : panel1.popupmenu := ppyyy1;
3 : panel1.popupmenu := ppzzz1;
4 : panel1.popupmenu := pp1111;
etc.
end;
El evento onclick trae el parámetro "Sender:TObject" (Sender es el botón sobre el que se ha hecho click).

Por supuesto tendrás creados los popupmenus o menus llamados ppxxxx1, ppyyy1, etc.

Saludos

Neftali [Germán.Estévez]
21-11-2007, 11:41:19
Sí. ¿Cual es la duda?
Por ejempo, una forma sencilla puede ser crearlos todos en diseño y segun la opción pulsada mostrar 1 y ocultar los demás.