begin process at 2012 02 11 00:58:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Composants

 > IMAGE EN FOND DE PANEL

IMAGE EN FOND DE PANEL


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Composants Niveau :Débutant Date de création :25/03/2005 Date de mise à jour :30/03/2005 15:50:12 Vu / téléchargé :10 400 / 1 213

Auteur : Kenavo

Ecrire un message privé
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

30 mars 2005 15:50:12 :
Correction "Mauricio-050330" ligne inutile (voir commentaires)

 Sources du même auteur

RÉELS ET RÉALITÉ
Source avec Zip Source avec une capture WEBCAM À MANIVELLE
Source avec Zip Source avec une capture ACQUISITION VIDEO (WEBCAM, TV CARDS ...)
Source avec Zip LE RÉSEAU MICROSOFT - LES FONCTIONS WNET
Source avec Zip Source avec une capture AYEZ DE BONS RAPPORTS AVEC VOS RÉSISTANCES

 Sources de la même categorie

Source avec Zip MOVCONTROL par abmed1963
Source avec Zip Source avec une capture PACKAGE DE COMPOSANTS CINDY V4.41 par MAURICIO
Source avec Zip Source avec une capture DBNAVIGATORPLUS par pascal1541
Source avec Zip Source avec une capture EVALUATION D' EXPRESSIONS MATHÉMATIQUE (MÉTHODE RPN) par MAURICIO
Source avec Zip Source avec une capture COMPOSANT TQPROGRESSBAR UNE BARRE DE PROGRESSION... par yanb

Commentaires et avis

Commentaire de Delphiprog le 25/03/2005 22:57:30 administrateur CS

Excellent, tout simplement excellent.
Bravo Kenavo.

Commentaire de ManChesTer le 26/03/2005 15:12:38 administrateur CS

Oui, excellent, astuce dèja conue mais bon.... excellent quand meme.

Tu nous fais le meme avec effet de "fondu" et transparance en temps réel ? (joke)

Bon Coding....

ManChesTer.

Commentaire de Kenavo le 29/03/2005 08:57:40

ManChester, tu trouve que j'ai pas assez l'air fondu comme ça ?!...

D'après l'aide :
La propriété Bitmap désigne un objet TBitmap contenant une image bitmap. Si Bitmap n'est pas vide, l'image bitmap (et non la propriété Style) définit le motif du pinceau. Si la taille de l'image est supérieure à huit pixels par huit pixels, seule la zone huit-sur-huit du coin supérieur gauche est utilisée.

Mais ça marche très bien avec un bitmap de plus de huit pixels de coté. Il semblerait que l'aide n'ait pas été mise à jour depuis Delphi 1 où cette limite de 8 x 8 pixels est effective.

Commentaire de MAURICIO le 30/03/2005 14:46:51 administrateur CS

Pourquoi dans le paint tu fais au debut:

  if (fBitmap.Width > 0) and (Bitmap.Height > 0) then
    Brush.Bitmap := fBitmap;

  with Canvas do
  begin
    Brush.Color := Color;
    //Si les dimensions du bitmap ne sont pas nulles
    // on affecte celui-ci à la brosse
    if (fBitmap.Width > 0) and (Bitmap.Height > 0) then
      Brush.Bitmap := fBitmap;

Comme tu peux le voir, j' ai fait un compo dans le même genre (cf source pack compo). Ta méthode est bien plus rapide (grâce à brush.bitmap) même si j' essaye de rendre le Panel transparent pour une couleur lorsque l' on utilise les thèmes de Windows ...
Au fait, comment peut-on cacher de l' object Inspector une propriété héritée que l' on a pas besoin ???

Commentaire de Kenavo le 30/03/2005 15:44:40

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

Commentaire de MAURICIO le 30/03/2005 16:34:42 administrateur CS

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 !!!

Commentaire de ManChesTer le 30/03/2005 17:09:57 administrateur CS

MAURICIO,

Utilise draw (voir mon source http://www.delphifr.com/code.aspx?id=29225 )
Qui illustre l'astuce ;o)

Bon Coding....

ManChesTer.

Commentaire de Kenavo le 30/03/2005 17:58:31

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

Commentaire de MAURICIO le 30/03/2005 18:06:22 administrateur CS

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 :)

Commentaire de MAURICIO le 30/03/2005 18:11:19 administrateur CS

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 !!!

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales