Comment fusionner des TMainMenu utilisant des listes d'images distinctes et conserver les images correctes pour chaque élément de menu?

StackOverflow https://stackoverflow.com/questions/152405

  •  02-07-2019
  •  | 
  •  

Question

J'ai un programme avec deux classes TForm et leur a ajouté un TMainMenu. J'essaie ensuite de les fusionner de manière dynamique au moment de l'exécution.

Le problème, c'est que lorsqu'ils fusionnent les éléments de menu du TMainMenu fusionné, les images stockées dans la liste d'images s'affichent désormais sous la forme dans laquelle elles ont été fusionnées, plutôt que dans la liste d'images de leur forme d'origine.

Est-ce que je fais quelque chose de mal? existe-t-il un moyen de contourner le problème pour que les éléments de menu continuent à utiliser la liste d'images sous la forme à partir de laquelle ils ont été créés?

J'utilise le formulaire fusionné dans un certain nombre de projets, sinon une seule liste d'images partagées aurait un sens.

Si j’ai besoin de clarifier quelque chose, dites-le-moi s'il vous plaît.

Merci

Peter

Était-ce utile?

La solution

La façon dont je gère cela consiste à avoir une seule liste d'images sur un module de données, puis à l'inclure dans chaque formulaire afin qu'ils puissent partager cet ensemble d'icônes.

Autres conseils

J'ai eu exactement le même problème il y a quelque temps, mais j'ai également rencontré d'autres problèmes de fusion de menus parce que mon application était MDI. J'ai donc décidé de faire les choses d'une manière complètement différente.

Ce que vous pourriez essayer, cependant, consiste à ajouter de manière dynamique les images d'un formulaire à la liste ImageList de l'autre formulaire et à "rediriger" les ImageIndex . Peut-être un peu délicat, mais devrait fonctionner.

Ce que j’ai finalement trouvé est d’utiliser le package Toolbar2000 pour tous mes menus et barres d’outils. Vous pouvez ensuite télécharger un très beau morceau de code, intitulé TB2Merge , qui fait exactement ce que vous voulez. Il utilise également une partie de l'infrastructure de Toolbar2000 pour lier l'image d'un élément de menu à une autre TImageList - infrastructure qui n'est pas présente dans le TMainMenu de la VCL. Assurez-vous de lire attentivement la documentation de TB2Merge!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top