Frame graphique a gradients de couleurs avec icone (+ events mouse, subclassing...)

Soyez le premier à donner votre avis sur cette source.

Vue 8 103 fois - Téléchargée 1 692 fois

Description

Bon, voilà une frame graphique.
Voilà ses principales caractéristiques :
-Picture
-Gradients de couleurs
-Evenements molette, clicks...
-...

PROPRIETES
-BackColor1 (couleur 1 du gradient de couleur du fond de controle)
-BackColor2
-BackGradient (type de gradient du fond de controle)
-BackStyle (transparence ou pas)
-BreakCorner (true pour faire un arrondi des angles)
-Caption
-Font
-ForeColor
-ShowBackGround (affiche ou pas la zone de fond de controle)
-ShowTitle (affiche ou pas la zone de titre)
-TextPosition (left, right, center)
-TitleColor1 (couleur 1 du gradient de la zone de titre)
-TitleColor2
-TitleGradient (type de gradient)
-TitleHeight (taille de la barre de titre)
-Enabled
-DisplayColor (couleur de la bordure)
-ShowBorder (afficher ou pas la bordure)
-GrayPictureWhenDisabled (grise ou pas l'icone quand Enabled=false)
-PictureOffsetX (décalage en X de l'icone)
-PictureOffsetY
-DisplayPicture (affiche ou non la picture)
-PictureAligment (alignement de la picture)
-BorderWidth (largeur de la bordure)
-RoundAngle (valeur de l'angle des coins ==> plus la valeur est grande, plus le bord est arrondi)
-Picture (défini l'image)

EVENTS
-KeyPress
-KeyDown
-KeyUp
-MouseMove
-MouseDown
-MouseWheel
-MouseUp
-MouseDblClick
-MouseHover
-MouseLeave

Voir le screenshot pour quelques différentes possibilités !

Source / Exemple :


'dans le zip

Conclusion :


Plus de bub avec les gradients ! (merci Moustachu)
Merci à Renfield pour son aide, et merci à Gobillot pour le snippet qui grise les images.

Un bug connu : la barre de titre du Frame dépasse des angles quand BackStyle=Transparent...

@+ (notez et commentez svp ^^)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
115
Date d'inscription
jeudi 11 octobre 2001
Statut
Membre
Dernière intervention
15 octobre 2012

Bonjour,
J'utilise ton composant frame dans un de mes programme mais j'ai un gros soucis,
en effet en mode débug via L'IDE le source plante et ferme par la même occasion l'interface de développement
se produit aussi lors de l’exécution ?
Par contre en mode compilé (EXE) y'a pas de soucis.
Le problème semblerait venir des copyMemory ou de ce qui se trouve dans
Private Sub UserControl_Initialize()

Aurais-tu une solution ?
Merci
Messages postés
1
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
10 juillet 2009

Bonjour violent_ken,

avant la question qui tue.. je voulais te féliciter pour la qualité de ton code et les composants que tu proposes.. c'est du tip top !!

J'ai une question cependant, disons que j'ai une Form avec juste ton controle dessus. sur cette Form, je recupere les evenements Mouseleave ou Mousehover de ton controle pour modifier une propriete de ce dernier. (borderwith, caption ..) et bien j'ai toutes les icones de mon bureau qui clignotent un coup ... j'ai essyé sur d'autres postes que le mien et ca fait pareil ...

J'ai essaye de voir les Messages qui etaient envoyés mais j'ai pas trouvé grand chose de probant .. As-tu une idée de ce qui se produit ? et comment l'eviter ?

D'avance Merci ...

Ps: au cas j'aurias pas ete clair, tu trouveras ci-dessous le code utilisé que tu reconnaitras je pense ...

Private Sub grdFrame1_MouseHover(Index As Integer)
Me.Caption = "Rentrée dans un de frames"
grdFrame1(Index).BorderWidth = 2
End Sub

Private Sub grdFrame1_MouseLeave(Index As Integer)
Me.Caption = "Sortie d'un des frames"
grdFrame1(Index).BorderWidth = 1
End Sub
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Hop, je poste toute ma série de contrôles stylés XP :
http://www.vbfrance.com/code.aspx?ID=42726

@+
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
""Icone deplacée"... le texte est sous l'icone" ==> Oui c'est vrai, mais de toutes façons il ne faut utiliser les properties d'offset (X et Y) de l'icone que pour déplacer l'icone de quelques pixels (pas comme dans l'exemple, mais par exemple pour recentrer quand on a un énorme arrondi)

""transparence avec bordure" le coin haut gauche apparait." ==> En effet, c'est un (le) bug connu, je suis pas arrivé à le résoudre... je comprend pas trop pourquoi le coin est affiché puisque la zone ne le prend pas en compre (avec SetWnidowRgn) -__-

"avec CombineRgn, tu pourrais arrondir que les coins qui t'arrangent, ca rend pas mal..." ==> Bonne idée, je vais travailler du côté de cette API

Merci pour le commentaire ;)
@+
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
"Icone deplacée"... le texte est sous l'icone :/
"transparence avec bordure" le coin haut gauche apparait...

avec CombineRgn, tu pourrais arrondir que les coins qui t'arrangent, ca rend pas mal...

ton controle ressemble fort désormais a celui que j'avais fait au boulot ^^
ca rend vraiment pas mal, tu t'en sort bien
Afficher les 31 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.