Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   boton toolbar vs menuitem (https://www.clubdelphi.com/foros/showthread.php?t=55945)

sac 02-05-2008 13:38:58

boton toolbar vs menuitem
 
Hola gente... no se que hago mal pero mi procedimiento es el siguiente.
creo una toolbar, dentro de ella agrego 4 botones y un separador. A cada boton en su evento Onclick lo relaciono con el el evento del menuitem correspondiente y comparten tambien las imagenes(los iconos en realidad).
Por qué me sucede que cuando abro la aplicacion aparece el boton guardar con el ícono en enabled false al igual que en el menuitem como yo quiero, pero cuando cambio a true desde el programa solamente se pone en enabled true el menu pero no el boton del toolbar.
Por qué pasa esto si estan relacionados? Como lo puedo soucionar?

dec 02-05-2008 14:01:36

Hola,

Hay que ver qué se entiende por "relacionados". Que ambos componentes comportan su evento "OnClick" no los relaciona. Siguen siendo componentes separados, y, por tanto, habrían de cambiarse sus propiedades por separado. Otra cosa es que exista alguna forma de relacionar, efectivamente, los "items" del menú y los de la "toolbar", pero, ahora mismo lo ignoro.

Creo que con Toolbar 2000 sí que podía hacerse algo así. Y es posible que también se pudiera hacer con los componentes "estándar". A ver si algún otro compañero sabe cómo sería posible relacionar el menú con la barra de herramientas.

Neftali [Germán.Estévez] 02-05-2008 14:53:03

Deberías revisar la utilización de ActionList/Actions; Te evitará esos problemas. Justamente en una Action programas una serie de propiedades, como Caption, Hint, Enabled, Visible, IConIndex,...
Luego puedes asignar esa action a un TButton, TMenuItem,... de forma que cuando cambias la action, cambian a su vez todos los elementos que tengas asociados a ella.

sac 02-05-2008 15:28:03

Podría ser
 
Hola Neftalí... mira no entiendo muy bien donde debo cambiar ese "action list" que mencionas si en el toolbar, si en el boton, si en el main menu...si pudieras darme un ejemplo quizá esa sea la solución

dec 02-05-2008 15:55:33

Hola,

Efectivamente, Neftalí ha dado en el clavo. El uso de acciones podría relacionar varios componentes, por ejemplo, el "item" de un menú y otro "item" en un "toolbar". Se trata de trabajar con el componente "TActionList". Observa que los "items" de un menú y los de una "toolbar" cuentan con una propiedad "Action".

En el componente "TActionList" puedes añadir acciones. Y luego asignar una acción al componente que quieras, siempre que cuente con la propiedad "Action". De este modo, podrás, por ejemplo, deshabilitar una acción. Y al hacerlo, estarás deshabilitando al mismo tiempo todos los componentes que compartan la acción en cuestión.

Así que se trata de que te familiarices más o menos con el componente "TActionList", que tienes en la pestaña "Estándar" de la paleta de componentes. Te adjunto un ejemplo muy sencillo, por si te sirve de algo. :)

Neftali [Germán.Estévez] 02-05-2008 16:34:55

Veo que David ha sido más rápido.
No he visto el ejemplo, pero supongo que debe ser sencillo, ya que las actionList no tienen muchos secretos.
Como te han dicho, creas las actions en la ActionList con la propiedades que deseas y luego vás asignando esa action a los elementos que te interesen; TMenuItem, TButton, TToolButton,... (propiedad Action).


La franja horaria es GMT +2. Ahora son las 13:02:32.

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