Création d'une barre type volet d'exploration

[Résolu]
Signaler
Messages postés
4
Date d'inscription
mercredi 3 mars 2004
Statut
Membre
Dernière intervention
8 septembre 2005
-
Messages postés
4
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
16 février 2011
-
Bonjour à Tous

Je suis entrain de développer une espèce de barre à gauche qui ressemble au volet d'exploration WindowsXP,
afin d'avoir un menu personnalisable pour mes applications.

Le truc fonctionne bien, mais je voudrais lorsque je clique sur un groupe que les éléments en dessous se déplie
avec un effet de fondu. Je pensais utiliser la fonction opacity d'un formulaire de la même couleur que mon volet que j'aurai superposé à mon panel. En faisait varier sa transparence, cela aurait donné la même chose que sous windows XP, mais cela ne fonctionne pas. Je n'arrive pas à rajouter un formulaire sur mon formulaire.
Celui ci se trouve sur une fenêtre à part entière.
Existe t'il un truc plus simple ? Un composant ? Quelqu'un aurait t'il dériver le composant panel
et lui aurait ajouter l'opacity ou un truc de ce genre ?

Merci d'avance
Thanks. Je suis débutant.
JrIs2fun

11 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
j'ai mis à jour ma source...



mais je n'arrive pas à réduire le clignotement.

Sébastien FERRAND
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
il faut utiliser un panel...

sinon, il existe déjà ce genre de composant : www.vbaccelerator.com, netxp...

Sébastien FERRAND
Messages postés
341
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
10 février 2009
2
Salut,
Utilise un panel
Messages postés
341
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
10 février 2009
2
Oups, j'aurai du actualiser la page avant
Messages postés
4
Date d'inscription
mercredi 3 mars 2004
Statut
Membre
Dernière intervention
8 septembre 2005

Merci à tous pour vos réponse.

Je veux bien utiliser un panel, mais sur l'objet Panel, il n'y a pas d'opacity.

JRis2fun
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
je regarde ce que je peux faire ;)

Sébastien FERRAND
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
voila : http://www.csharpfr.com/code.aspx?ID=33676



ca fonctionne mais je n'avais pas à supprimer le clignotement.

Sébastien FERRAND
Messages postés
4
Date d'inscription
mercredi 3 mars 2004
Statut
Membre
Dernière intervention
8 septembre 2005

Merci Sébastien

Si j'ai bien compris ton code, tu as dérivé un composant de type panel en transparent panel
pour lequel tu redessines un rectangle de couleur combinaison transparent + opacity value renseignée dans le controle properties.

En fait, lorsque je modifie la valeur, celle ci n'est pas prise en compte. La transparence change mais pas de la valeur renseignée.
Ce n'est pas grave, en soit. J'arrive en fixant la value dans le code à faire grosso modo ce que je veux.

Par contre, je dois être un bille, parce que j'ai créé un bouton sur ton formulaire qui simulera l'appuie sur un bandeau de titre,
le panel transparent devrait avoir sa transparence qui augmenterait tout en ayant se hauteur qui diminuerait.
Cela permet au panel place sous ce panel transparent dont sa hauteur diminuerait également de simuler sa disparition à la façon volet d'exploration.

Sur le code click de mon bouton, je fait une boucle sur opacity vers 1, puis un panel2.refresh
J'arrive à faire varier sa transparence vers le haut (moins transparent) mais pas inversement !
Lorsque je fait varier opacity vers 0, puis le panel2.refresh, rien ! Comme pisser dans un violon.

Je n'arrive pas à faire varier sa hauteur, non plus ! J'essaie de changer panel2.height = panel2.height - i variant de pane2.height à 0. Ben rien n'y fait ! Il ne diminue pas et disparait d'un coup !
Faut il se synchroniser avec une horloge graphique ? COmment j'appelle le OnPaint ? Je pensais que c'était par le refresh.

Merci pour ton aide, je suis vraiment une brelle.
JRis2fun
Messages postés
4
Date d'inscription
mercredi 3 mars 2004
Statut
Membre
Dernière intervention
8 septembre 2005

Merci Sébastien
Je regarde sur ce que je peux faire pour le scintillement (anti flicker, double buffering...)

http://www.devx.com/dotnet/Article/26681/1954?pf=true


JRis2fun
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
ok tiens moi au courant
Messages postés
4
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
16 février 2011

J'ai pris votre source pour faire en sorte que les panels soit transparent et je l'ai modifier pour faire en sorte que sa soit des ListView qui le soit sa marche mais j'ai 2 soucis:
       - Dans le programme a chaque fois que j'ouvre la boite de dialogue pour ouvrir un fichier il me fait un scintillement?
       -Et ensuite probléme plus gros toute les écriture de qui se trouve dans la ListView sont invisible pouvais vous m'aider?

Merci