Personnaliser la police d' un menu sans toucher à la configuration système

Résolu
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Bonsoir tout le monde,
Y' as t- il moyen de changer la police d' un 'menu' , juste pour son application.
J' ai des Items à faire en 'Arabe' et je voudrais choisir la police qui convient,
sans toucher à la configuration système.


Merci pour oui.
Merci pour non.

5 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Salut,

à ce que je sache, on ne peut pas.

Mais tu pourrais créer ton propre menu en utilisant une PictureBox
alignée en haut (Align = Top) et y insérer des contrôles à ton goût
(Labels, Command Buttons, Images,...)


À partir de là, il te resterait à afficher au besoin un autre contrôle, un peu déphasé, contenant les sous-menus.


Une idée comme ça...

MPi
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir MPi,
Merci de ta réponse. Je m' en doutais bien qu' on ne pourrait pas.
En fait, j' utilise rarement des "menus classiques " alignés au Top,
j' ai recours le plus souvent à des menus contextuels (avec click droit).
Et donc ça serait très laborieux avec un menu personnalisé.
Mais bon, s' il n' y a que cette solution, je vais la tenter quand même.
Je crois qu' avec un Timer et une gestion des positions de la souris
ça pourrait se faire.

Encore une fois,Merci .

chaibat
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Je ne pense pas que ce soit nécessaire d'utiliser un Timer ou la position de souris.


Disons que tu utilises des boutons comme entêtes du menu principal et une listbox pour les sous-menus.

Sur Click d'un bouton, tu vérifies lequel c'est, tu remplis la listbox
invisible selon le cas, tu la déplaces à  l'aide Move

ListboxMenu.Move Bouton.Left + 40, Bouton.Top + 40

Listbox.visible = true


Sur Click d'un élément tu appelles la fonction souhaitée et tu rends invisible la listbox

Sur lostfocus, tu la rends aussi invisible (là, ça prendrait peut-être un Timer...)


Je pense que ça pourrait se faire sans trop de problèmes...

Par contre, si tu as des sous-menus aux sous-menus, ben là, ça se complique un peu, mais pas trop... ¦¬)

MPi
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir MPi,
J' ai pas pu te répondre plutot.
Il y a eu une coupure du courant et il vient juste d' être rétablit.
Merci encore une fois de tes réponses.
Pour ce qui est de ta manière de procéder, elle serait valable dans le cas ou
j' utiliserais un menu fixe.C' est ce que je fais d' ailleurs dans certains cas.
Avec une PictureBox alignée à gauche de mon MDI et dans laquelle je place des
Images comme entête et des PictureBox Conteneurs qui s' enroulent et se déroulent.
Là il n' y ' aurait pas de problème et ta solution est valable.
Pas besoin ni de Timer ni Position du pointer.Et même si l' utilisateur ne choisit
aucun Item , rien n' empêche à ce que le Menu reste ouvert.
Mais là ou ça se complique, c' est dans les menus contextuels ,et sans sous menus.
Juste un Objet Contnair ou une ListBox qui apparaisse suite à un  click droit sur
la surface d' un ListView ,par exemple.
Je dois récupérer le X et le Y pour le faire apparaitre là ou l' utilisateur a cliqué.
En plus je dois savoir , au bout d' un laps de temps s' il a abandonné ce qu' il
voulait faire, pour rendre invisible mon peudo-menu.


Mais dans l' ensemble on a la même vision du problème.
Et on est arrivé à la même conclusion: Il y' a du boulot !


Mais bon, quand on veut faire à sa guise, il faut mettre le prix.
n' est-ce pas ?


Allez, j' ai assez parlé !
Il faut que je poste pendant qu' il y' a encore du courant


Bonne nuit à toi et à la prochaine.

chaibat
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Re-Salut,
tu as raison , cher MPi,
Pas besoin ni de Timer ni de GetCursorPos , même pour les menus contextuels.
Le X et le Y sont récupérables dans Mouse_Up et Mouse_Down.
Et l' Objet Conteneur peut être rendu invisible s' il perd le Focus ou si l' utilisateur
choisit un Item. Le Timer + effet de fondu seront en option  


Bonne journée à toi.


chaibat

Ps:
De la discussion jaillit la lumière...