Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Menus de acuerdo a opciones (https://www.clubdelphi.com/foros/showthread.php?t=50532)

oscarac 21-11-2007 07:55:21

Menus de acuerdo a opciones
 
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:
Código:

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:
Código Delphi [-]
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.


La franja horaria es GMT +2. Ahora son las 01:13:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi