Image en fond de panel

Soyez le premier à donner votre avis sur cette source.

Vue 12 820 fois - Téléchargée 1 444 fois

Description

C'est Mauricio qui a commencé ! Un dégradé sur un panel ! Et pourquoi pas autre chose ? En reprenant le principe du composant TGraphicGauge que je vous avais soumis, voici le TBitmapPanel. Ce composant derive de TCustomPanel comme TPanel, J'y ai juste ajouté une propriété bitmap et les procédures pour la gérer. J'ai aussi surchargé la méthode Paint pour pouvoir affecter le bitmap à la propiété Bitmap de la brosse du canvas du panel avant l'appel à la procédure Fillrect.

Conclusion :


La démo n'a pas besoin d'être éxécutée, le bitmap du BitmapPanel a été préchargé en mode conception par mes soins. Joli, non ?
Mauricio, imagine que le bitmap soit un dégradé .... Pour un panel de taille fixe ça marche très bien !
Note pour les très débutants, un composant ça s'installe ! Composant>Installer un composant>etc...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Si j' ai bien compris, tu connaissais pas Empty c' est ça?
Au fait, la transparence sera surtout utile pour TbmpPaintbox ! Mais, on pourra faire de même avec un TBmpPanel (pour ceux qui utilisent XPManifest et l' option parentBackground) et même, sans l' attribuer d' image, rendre le panel transparent (qui n' a jamais voulu que son panel soit transparent) même sous Win95/98 !!!
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
C' est à cause des themes qui font de zolis dégradés !!!
Ou alors si tu mets ton compo sur mon compo de degradé par ex., je voudrais définir une couleur de transparence!
Voilà comment faire :

BmpPanel1.Bmp.Transparent := true;
BmpPanel1.Bmp.TransparentColor := clFuchsia;
dgradPanel1.Canvas.Draw(10, 10, BmpPanel1.Bmp);
ou alors dgradPanel1.Canvas.StretchDraw(classes.Rect(10, 10, 100, 100), BmpPanel1.Bmp);
Donc Kenavo, je crois que tu vas devoir faire autrement que brush.bitmap dans le cas où tu voudrais faire de la transparence.
A surveiller donc la prochaine version de mon Pack :)
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
3
Empty ! On en apprend tous les jour ! Merci Mauricio !
Je viens de charger ton pack complet, je n'avais que le début (dgradPanel et dgradPaintBox).

Tu veux faire des transparences où ? Dans ton BmpPanel ?

Ken@vo
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Ok, merci pour ces explications.
J' utilise BrushCopy pour rendre transparent une couleur au choix de l' utilisateur. Mais, celle-ci est remplacée par la couleur du brush alors que je voulais qu' elle soit vraiment transparente(Themes oblige); t' as une idée toi? J' ai essayé copyRect (en changeant copyMode) mais ce satané copyMode est dûr de dompter !!!
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
3
Ah ben oui ! Deux fois ! Une de trop ! La première manque de portée et n'a plus son utilité. Allez zou, correction !

On ne peut pas cacher une propriété héritée (vois les dernières lignes dans l'aide sur "Visibilité des membres de classe". Pour ton TdgradPanel, il aurait fallu partir de TCustomPanel et non pas de Panel (comme je l'ai fait ici), et pour le TdgradPaintbox, partir de TGraphicControl. Tu peux alors choisir les propriétés que tu désires rendre visibles.

Ken@vo
Afficher les 9 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.