Lib MoreMenu Version 3.40
Publié : lun. 10/oct./2005 14:27
J'ai fais cette petite librairie pour windows uniquement pour mettre de la couleur aux menus.
Le fichier zip est ici
Il contient 4 fichiers
MoreMenu --> la librairie à installer dans le dossier PureBasic\Purelibraries\userlibraries
MoreMenu.res --> le résident à mettre dans le dossier PureBasic\residents
MoreMenu.chm --> le fichier d'aide à mettre dans le dossier PureBasic\Help
Exemple 2.pb --> c'est le seul fichier d'exemple
Les commandes sont les mêmes que celles de PB mais suivi de Color
Voici les 6 commandes disponibles pour l'instant
CreateMenuColor()
MenuTitleColor()
MenuItemColor()
OpenSubMenuColor()
CloseSubMenuColor()
SetMenuItemStateColor()
Les commandes sont dans l'utilisation identiques à PB.
Tous les identifiants des menus et éléments doivent être différents.
Les paramètres permettant de colorier les menus sont importants, il devenait donc interessant de passer l'adresse de la variable ou sont stockés les valeurs
Je vous conseille d'utiliser 4 variables basées sur la structure ItemParams
Une pour les menuTitle, les autres pour pour les menus items, les submenuitem et la dernière pour les menusbar.
Cela permet de ne pas réattribuer à chaque fois les couleurs des éléments qui seront les mêmes.
Lorsqu'une commande comme MenuitemColor (ou autre) est utilisée, les valeurs de la variable passée en paramètre sont recopiées dans une variable propre à la fonction.
On peut donc ensuite réutiliser cette variable pour modifier par exemple que le texte pour le prochain élément.
Les limites :
----------
- Pour l'instant, je n'ai pas gèré le multi-fenêtrage, donc ça plantera surement si vous essayez de faire des menus sur plusieurs fenêtres
- Les polices ne sont pas supportés
- Pas possible de supprimer un élément
- si on ajoute un élément, cela se fera Toujours dans la colonne du dernier menuTitle créé
- Pas possible de modifier les paramètres après la création de l'élément
- Je n'ai fait que des essais avec des icônes au format 16x16.
Je n'ai pas fait de test avec les bitmap.
- Je n'utilise que des API windows pour les menus, il est donc inutile d'essayer de récupérer MenuID() ou d'utiliser une commande PB sur le menu couleur.
La version 2 qui est en cours permettra le multi-fenêtrage, l'ajout/modification/suppresion des éléments etc.
Voici un aperçu




Le fichier zip est ici
Il contient 4 fichiers
MoreMenu --> la librairie à installer dans le dossier PureBasic\Purelibraries\userlibraries
MoreMenu.res --> le résident à mettre dans le dossier PureBasic\residents
MoreMenu.chm --> le fichier d'aide à mettre dans le dossier PureBasic\Help
Exemple 2.pb --> c'est le seul fichier d'exemple
Les commandes sont les mêmes que celles de PB mais suivi de Color
Voici les 6 commandes disponibles pour l'instant
CreateMenuColor()
MenuTitleColor()
MenuItemColor()
OpenSubMenuColor()
CloseSubMenuColor()
SetMenuItemStateColor()
Les commandes sont dans l'utilisation identiques à PB.
Tous les identifiants des menus et éléments doivent être différents.
Les paramètres permettant de colorier les menus sont importants, il devenait donc interessant de passer l'adresse de la variable ou sont stockés les valeurs
Je vous conseille d'utiliser 4 variables basées sur la structure ItemParams
Une pour les menuTitle, les autres pour pour les menus items, les submenuitem et la dernière pour les menusbar.
Cela permet de ne pas réattribuer à chaque fois les couleurs des éléments qui seront les mêmes.
Lorsqu'une commande comme MenuitemColor (ou autre) est utilisée, les valeurs de la variable passée en paramètre sont recopiées dans une variable propre à la fonction.
On peut donc ensuite réutiliser cette variable pour modifier par exemple que le texte pour le prochain élément.
Les limites :
----------
- Pour l'instant, je n'ai pas gèré le multi-fenêtrage, donc ça plantera surement si vous essayez de faire des menus sur plusieurs fenêtres
- Les polices ne sont pas supportés
- Pas possible de supprimer un élément
- si on ajoute un élément, cela se fera Toujours dans la colonne du dernier menuTitle créé
- Pas possible de modifier les paramètres après la création de l'élément
- Je n'ai fait que des essais avec des icônes au format 16x16.
Je n'ai pas fait de test avec les bitmap.
- Je n'utilise que des API windows pour les menus, il est donc inutile d'essayer de récupérer MenuID() ou d'utiliser une commande PB sur le menu couleur.
La version 2 qui est en cours permettra le multi-fenêtrage, l'ajout/modification/suppresion des éléments etc.
Voici un aperçu



