Un arrière-plan peintre classe


Avez-vous jamais eu envie de peindre une image bitmap en carrelage? centré? tendu? l'utilisation de cette classe
Ici c'est une classe que j'ai trouvé il y a longtemps d'un de ceux qui ont perdu la mémoire des sources, son seul but est de peindre l'arrière-plan d'une fenêtre à l'aide d'une image donnée (vous pouvez étendre son utilisation à l'aide de descendants de tgraphic comme tjpegpicture, ajouter JPeg dans la clause uses TGifImage, ajouter Anders Melanders gif, etc.)
unité de bgpaint
interface

& nbsp & nbsp Windows, les Graphiques, les Classes
type
& nbsp & nbsp TTileBackStyle = (tbsNone, tbsPicCenter, tbsPicClip, tbsPicFit, tbsPicHeigth,
& ! & ! & ! & nbsp tbsPicStretch, tbsPicTile, tbsPicWidth)
& nbsp & nbsp TTileBack = classe( TPersistent )
& nbsp & nbsp privé
& ! & ! & ! & nbsp FPicture: TPicture
& ! & ! & ! & nbsp FStyle: TTileBackStyle
& ! & ! & ! & nbsp FOnChange: TNotifyEvent
& ! & ! & ! & nbsp procédure SetStyle(const Value: TTileBackStyle)
& ! & ! & ! & nbsp procédure SetOnChange(const Value: TNotifyEvent)
& ! & ! & ! & nbsp procédure SetPicture(const Value: TPicture)
& nbsp & nbsp public
& ! & ! & ! & nbsp constructeur Créer
& ! & ! & ! & nbsp destructeur de Détruire remplacer
& ! & ! & ! & nbsp procédure de Céder(Source: TPersistent) remplacer
& ! & ! & ! & nbsp fonction Vide: Boolean
& ! & ! & ! & nbsp procédure de Tirage au sort(const Toile: TCanvas const ARect: TRect)
& ! & ! & ! & nbsp propriété OnChange: TNotifyEvent lire FOnChange écrire SetOnChange
& nbsp & nbsp publié
& ! & ! & ! & nbsp propriété de l'Image: TPicture lire FPicture écrire SetPicture
& ! & ! & ! & nbsp propriété de Style: TTileBackStyle lire FStyle écrire SetStyle par défaut tbsNone
& nbsp & nbsp fin
application
{ TTileBack }
procédure TTileBack.Attribuer(Source: TPersistent)
begin
& nbsp & nbsp si la Source est TTileBack puis
& ! & ! & ! & nbsp avec TTileBack(Source) ne
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp Auto.FStyle := Style
& ! & ! & ! & ! & ! & nbsp Auto.Image:= l'Image
& ! & ! & ! & nbsp fin
& nbsp & nbsp else
& ! & ! & ! & nbsp hérité
fin
constructeur TTileBack.Créer
begin
& nbsp & nbsp FPicture := TPicture.Créer
& nbsp & nbsp FStyle := tbsNone
fin
destructeur TTileBack.Détruire
begin
& nbsp & nbsp FPicture.Gratuit
& nbsp & nbsp hérité de Détruire
fin
procédure TTileBack.Tirage(const Toile: TCanvas const ARect: TRect)
var
& nbsp & nbsp Dest: TRect
& nbsp & nbsp XPos, YPos, RWidth, RHeight: Integer
& nbsp & nbsp PicRatio, ImageRatio: Double
begin
& nbsp & nbsp si Vide, puis la Sortie
& nbsp & nbsp RWidth := ARect.Droit - ARect.Gauche
& nbsp & nbsp RHeight:= ARect.Bas - ARect.Top
& nbsp & nbsp XPos := 0
& nbsp & nbsp YPos := 0
& nbsp & nbsp cas de Style de
& ! & ! & ! & nbsp tbsNone: Sortie
& ! & ! & ! & nbsp tbsPicClip:
& ! & ! & ! & ! & ! & nbsp Toile.Tirage(ARect.À Gauche, ARect.En Haut, Une Image.Le graphique)
& ! & ! & ! & nbsp tbsPicCenter:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp XPos := ARect.Gauche (RWidth - Image.La largeur) div 2
& ! & ! & ! & ! & ! & nbsp YPos := ARect.Top (RHeight - Image.Hauteur)div 2
& ! & ! & ! & ! & ! & nbsp Toile.Tirage(XPos, YPos, Une Image.Le graphique)
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp tbsPicFit:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp si (FPicture.Largeur > 0) et (FPicture.Hauteur > 0),
& ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & nbsp PicRatio := l'Image.Hauteur / Image.La largeur
& ! & ! & ! & ! & ! & ! & ! & nbsp ImageRatio:=RHeight / RWidth
& ! & ! & ! & ! & ! & ! & ! & nbsp si PicRatio > ImageRatio puis
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp XPos := Trunc(RHeight / PicRatio)
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp YPos := RHeight
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp XPos := RWidth
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp YPos := Trunc( RWidth * PicRatio )
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp Dest := Rect( 0,0,XPos, YPos)
& ! & ! & ! & ! & ! & nbsp OffsetRect(Dest, ARect.À Gauche, ARect.Haut de page)
& ! & ! & ! & ! & ! & nbsp Toile.StretchDraw(Dest, Une Image.Le graphique)
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp tbsPicHeigth:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp XPos := Trunc(FPicture.Largeur * (RHeight / Image.Hauteur))

& ! & ! & ! & ! & ! & nbsp YPos := RHeight
& ! & ! & ! & ! & ! & nbsp Dest := Rect(0, 0, XPos, YPos)
& ! & ! & ! & ! & ! & nbsp OffsetRect(Dest, ARect.À Gauche, ARect.Haut de page)
& ! & ! & ! & ! & ! & nbsp Toile.StretchDraw(Dest, FPicture.Le graphique)
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp tbsPicStretch:
& ! & ! & ! & ! & ! & nbsp Toile.StretchDraw(ARect, Une Image.Le graphique)
& ! & ! & ! & nbsp tbsPicTile:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp XPos := ARect.Gauche
& ! & ! & ! & ! & ! & nbsp tandis que XPos < ARect.Droit de faire
& ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & nbsp YPos := ARect.Top
& ! & ! & ! & ! & ! & ! & ! & nbsp tandis que YPos < ARect.Bas ne
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Toile.Tirage(XPos, Ypos, Une Image.Le graphique)
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp YPos := YPos FPicture.Hauteur
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & ! & ! & nbsp XPos := XPos Image.La largeur
& ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp tbsPicWidth:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp XPos := RWidth
& ! & ! & ! & ! & ! & nbsp YPos := Trunc(RWidth * (La Photo.Hauteur / Image.La largeur))
& ! & ! & ! & ! & ! & nbsp Dest := Rect(0,0, XPos, YPos)
& ! & ! & ! & ! & ! & nbsp OffsetRect(Dest, ARect.À Gauche, ARect.Haut de page)
& ! & ! & ! & ! & ! & nbsp Toile.StretchDraw(Dest, Une Image.Le graphique)
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
fin
fonction de TTileBack.Vide: Boolean
begin
& nbsp & nbsp Result := (Style = tbsNone) ou
& nbsp & nbsp nbsp & & nbsp ((Style dans [tbsPicClip, tbsPicFit, tbsPicHeigth, tbsPicStretch, tbsPicTile, tbsPicWidth]) et
& ! & ! & ! & nbsp ((Image = nil) ou (Photo.Graphique = nil) ou (Photo.Graphique.Vide)))
fin
procédure TTileBack.SetOnChange(const Value: TNotifyEvent)
begin
& nbsp & nbsp FOnChange := Valeur
& nbsp & nbsp FPicture.OnChange := Valeur
fin
procédure TTileBack.SetPicture(const Value: TPicture)
begin
& nbsp & nbsp FPicture.Attribuer( Valeur )
fin
procédure TTileBack.SetStyle(const Value: TTileBackStyle)
begin
& nbsp & nbsp si FStyle <> Valeur
& nbsp & nbsp commencer
& ! & ! & ! & nbsp FStyle := Valeur
& ! & ! & ! & nbsp si Affecté(FOnChange)
& ! & ! & ! & ! & ! & nbsp FOnChange(Auto)
& nbsp & nbsp fin
fin
à la fin.
Voici un rapide exemple de son utilisation et pouvoirs:

unité de bgpaintex1
interface

& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
& nbsp & nbsp ExtCtrls, bgPaint, StdCtrls, JPeg
type
& nbsp & nbsp TForm1 = class(TForm)
& ! & ! & ! & nbsp Image1: TImage
& ! & ! & ! & nbsp ComboBox1: TComboBox
& ! & ! & ! & nbsp Button1: TButton
& ! & ! & ! & nbsp OpenDialog1: TOpenDialog
& ! & ! & ! & nbsp procedure FormCreate(Sender: TObject)
& ! & ! & ! & nbsp procédure FormPaint(Sender: TObject)
& ! & ! & ! & nbsp procédure ComboBox1Change(Sender: TObject)
& ! & ! & ! & nbsp procédure Button1Click(Sender: TObject)
& nbsp & nbsp privé
& ! & ! & ! & nbsp { Private declarations }
& nbsp & nbsp public
& ! & ! & ! & nbsp { déclarations Publiques }
& ! & ! & ! & nbsp aBG: TTileBack
& nbsp & nbsp fin
var
& nbsp & nbsp Form1: TForm1
application
utilise TypInfo
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject)
var i: TTileBackStyle
begin
& nbsp & nbsp aBG := TTileBack.Créer
& nbsp & nbsp aBG.Image := Image1.L'image
& nbsp & nbsp aBG.Style := tbsPicFit
& nbsp & nbsp for i := tbsNone à tbsPicWidth ne
& nbsp & nbsp commencer
& ! & ! & ! & nbsp ComboBox1.Éléments.AddObject(GetEnumName(TypeInfo(TTileBackStyle), Integer(i)), TObject(i))
& nbsp & nbsp fin
fin
procedure TForm1.FormPaint(Sender: TObject)
begin
& nbsp & nbsp aBG.Tirage(Toile, ClientRect)
fin
procedure TForm1.ComboBox1Change(Sender: TObject)
begin
& nbsp & nbsp aBG.Style := TTileBackStyle(ComboBox1.Éléments.Les Objets[ComboBox1.ItemIndex])
& nbsp & nbsp Invalider
fin
procedure TForm1.Button1Click(Sender: TObject)
begin
& nbsp & nbsp si OpenDialog1.Exécuter ensuite
& nbsp & nbsp commencer
& ! & ! & ! & nbsp Image1.Image.LoadFromFile(OpenDialog1.Nom de fichier)
& ! & ! & ! & nbsp aBG.Image := Image1.L'image
& ! & ! & ! & nbsp Invalider
& nbsp & nbsp fin
fin
à la fin.









Un arriere-plan peintre classe


Un arriere-plan peintre classe : Plusieurs milliers de conseils pour vous faciliter la vie.


Avez-vous jamais eu envie de peindre une image bitmap en carrelage? centre? tendu? l'utilisation de cette classe
Ici c'est une classe que j'ai trouve il y a longtemps d'un de ceux qui ont perdu la memoire des sources, son seul but est de peindre l'arriere-plan d'une fenetre a l'aide d'une image donnee (vous pouvez etendre son utilisation a l'aide de descendants de tgraphic comme tjpegpicture, ajouter JPeg dans la clause uses TGifImage, ajouter Anders Melanders gif, etc.)
unite de bgpaint
interface

& nbsp & nbsp Windows, les Graphiques, les Classes
type
& nbsp & nbsp TTileBackStyle = (tbsNone, tbsPicCenter, tbsPicClip, tbsPicFit, tbsPicHeigth,
& ! & ! & ! & nbsp tbsPicStretch, tbsPicTile, tbsPicWidth)
& nbsp & nbsp TTileBack = classe( TPersistent )
& nbsp & nbsp prive
& ! & ! & ! & nbsp FPicture: TPicture
& ! & ! & ! & nbsp FStyle: TTileBackStyle
& ! & ! & ! & nbsp FOnChange: TNotifyEvent
& ! & ! & ! & nbsp procedure SetStyle(const Value: TTileBackStyle)
& ! & ! & ! & nbsp procedure SetOnChange(const Value: TNotifyEvent)
& ! & ! & ! & nbsp procedure SetPicture(const Value: TPicture)
& nbsp & nbsp public
& ! & ! & ! & nbsp constructeur Creer
& ! & ! & ! & nbsp destructeur de Detruire remplacer
& ! & ! & ! & nbsp procedure de Ceder(Source: TPersistent) remplacer
& ! & ! & ! & nbsp fonction Vide: Boolean
& ! & ! & ! & nbsp procedure de Tirage au sort(const Toile: TCanvas const ARect: TRect)
& ! & ! & ! & nbsp propriete OnChange: TNotifyEvent lire FOnChange ecrire SetOnChange
& nbsp & nbsp publie
& ! & ! & ! & nbsp propriete de l'Image: TPicture lire FPicture ecrire SetPicture
& ! & ! & ! & nbsp propriete de Style: TTileBackStyle lire FStyle ecrire SetStyle par defaut tbsNone
& nbsp & nbsp fin
application
{ TTileBack }
procedure TTileBack.Attribuer(Source: TPersistent)
begin
& nbsp & nbsp si la Source est TTileBack puis
& ! & ! & ! & nbsp avec TTileBack(Source) ne
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp Auto.FStyle := Style
& ! & ! & ! & ! & ! & nbsp Auto.Image:= l'Image
& ! & ! & ! & nbsp fin
& nbsp & nbsp else
& ! & ! & ! & nbsp herite
fin
constructeur TTileBack.Creer
begin
& nbsp & nbsp FPicture := TPicture.Creer
& nbsp & nbsp FStyle := tbsNone
fin
destructeur TTileBack.Detruire
begin
& nbsp & nbsp FPicture.Gratuit
& nbsp & nbsp herite de Detruire
fin
procedure TTileBack.Tirage(const Toile: TCanvas const ARect: TRect)
var
& nbsp & nbsp Dest: TRect
& nbsp & nbsp XPos, YPos, RWidth, RHeight: Integer
& nbsp & nbsp PicRatio, ImageRatio: Double
begin
& nbsp & nbsp si Vide, puis la Sortie
& nbsp & nbsp RWidth := ARect.Droit - ARect.Gauche
& nbsp & nbsp RHeight:= ARect.Bas - ARect.Top
& nbsp & nbsp XPos := 0
& nbsp & nbsp YPos := 0
& nbsp & nbsp cas de Style de
& ! & ! & ! & nbsp tbsNone: Sortie
& ! & ! & ! & nbsp tbsPicClip:
& ! & ! & ! & ! & ! & nbsp Toile.Tirage(ARect.A Gauche, ARect.En Haut, Une Image.Le graphique)
& ! & ! & ! & nbsp tbsPicCenter:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp XPos := ARect.Gauche (RWidth - Image.La largeur) div 2
& ! & ! & ! & ! & ! & nbsp YPos := ARect.Top (RHeight - Image.Hauteur)div 2
& ! & ! & ! & ! & ! & nbsp Toile.Tirage(XPos, YPos, Une Image.Le graphique)
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp tbsPicFit:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp si (FPicture.Largeur > 0) et (FPicture.Hauteur > 0),
& ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & nbsp PicRatio := l'Image.Hauteur / Image.La largeur
& ! & ! & ! & ! & ! & ! & ! & nbsp ImageRatio:=RHeight / RWidth
& ! & ! & ! & ! & ! & ! & ! & nbsp si PicRatio > ImageRatio puis
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp XPos := Trunc(RHeight / PicRatio)
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp YPos := RHeight
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp XPos := RWidth
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp YPos := Trunc( RWidth * PicRatio )
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp Dest := Rect( 0,0,XPos, YPos)
& ! & ! & ! & ! & ! & nbsp OffsetRect(Dest, ARect.A Gauche, ARect.Haut de page)
& ! & ! & ! & ! & ! & nbsp Toile.StretchDraw(Dest, Une Image.Le graphique)
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp tbsPicHeigth:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp XPos := Trunc(FPicture.Largeur * (RHeight / Image.Hauteur))

& ! & ! & ! & ! & ! & nbsp YPos := RHeight
& ! & ! & ! & ! & ! & nbsp Dest := Rect(0, 0, XPos, YPos)
& ! & ! & ! & ! & ! & nbsp OffsetRect(Dest, ARect.A Gauche, ARect.Haut de page)
& ! & ! & ! & ! & ! & nbsp Toile.StretchDraw(Dest, FPicture.Le graphique)
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp tbsPicStretch:
& ! & ! & ! & ! & ! & nbsp Toile.StretchDraw(ARect, Une Image.Le graphique)
& ! & ! & ! & nbsp tbsPicTile:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp XPos := ARect.Gauche
& ! & ! & ! & ! & ! & nbsp tandis que XPos < ARect.Droit de faire
& ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & nbsp YPos := ARect.Top
& ! & ! & ! & ! & ! & ! & ! & nbsp tandis que YPos < ARect.Bas ne
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Toile.Tirage(XPos, Ypos, Une Image.Le graphique)
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp YPos := YPos FPicture.Hauteur
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & ! & ! & nbsp XPos := XPos Image.La largeur
& ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp tbsPicWidth:
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp XPos := RWidth
& ! & ! & ! & ! & ! & nbsp YPos := Trunc(RWidth * (La Photo.Hauteur / Image.La largeur))
& ! & ! & ! & ! & ! & nbsp Dest := Rect(0,0, XPos, YPos)
& ! & ! & ! & ! & ! & nbsp OffsetRect(Dest, ARect.A Gauche, ARect.Haut de page)
& ! & ! & ! & ! & ! & nbsp Toile.StretchDraw(Dest, Une Image.Le graphique)
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
fin
fonction de TTileBack.Vide: Boolean
begin
& nbsp & nbsp Result := (Style = tbsNone) ou
& nbsp & nbsp nbsp & & nbsp ((Style dans [tbsPicClip, tbsPicFit, tbsPicHeigth, tbsPicStretch, tbsPicTile, tbsPicWidth]) et
& ! & ! & ! & nbsp ((Image = nil) ou (Photo.Graphique = nil) ou (Photo.Graphique.Vide)))
fin
procedure TTileBack.SetOnChange(const Value: TNotifyEvent)
begin
& nbsp & nbsp FOnChange := Valeur
& nbsp & nbsp FPicture.OnChange := Valeur
fin
procedure TTileBack.SetPicture(const Value: TPicture)
begin
& nbsp & nbsp FPicture.Attribuer( Valeur )
fin
procedure TTileBack.SetStyle(const Value: TTileBackStyle)
begin
& nbsp & nbsp si FStyle <> Valeur
& nbsp & nbsp commencer
& ! & ! & ! & nbsp FStyle := Valeur
& ! & ! & ! & nbsp si Affecte(FOnChange)
& ! & ! & ! & ! & ! & nbsp FOnChange(Auto)
& nbsp & nbsp fin
fin
a la fin.
Voici un rapide exemple de son utilisation et pouvoirs:

unite de bgpaintex1
interface

& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
& nbsp & nbsp ExtCtrls, bgPaint, StdCtrls, JPeg
type
& nbsp & nbsp TForm1 = class(TForm)
& ! & ! & ! & nbsp Image1: TImage
& ! & ! & ! & nbsp ComboBox1: TComboBox
& ! & ! & ! & nbsp Button1: TButton
& ! & ! & ! & nbsp OpenDialog1: TOpenDialog
& ! & ! & ! & nbsp procedure FormCreate(Sender: TObject)
& ! & ! & ! & nbsp procedure FormPaint(Sender: TObject)
& ! & ! & ! & nbsp procedure ComboBox1Change(Sender: TObject)
& ! & ! & ! & nbsp procedure Button1Click(Sender: TObject)
& nbsp & nbsp prive
& ! & ! & ! & nbsp { Private declarations }
& nbsp & nbsp public
& ! & ! & ! & nbsp { declarations Publiques }
& ! & ! & ! & nbsp aBG: TTileBack
& nbsp & nbsp fin
var
& nbsp & nbsp Form1: TForm1
application
utilise TypInfo
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject)
var i: TTileBackStyle
begin
& nbsp & nbsp aBG := TTileBack.Creer
& nbsp & nbsp aBG.Image := Image1.L'image
& nbsp & nbsp aBG.Style := tbsPicFit
& nbsp & nbsp for i := tbsNone a tbsPicWidth ne
& nbsp & nbsp commencer
& ! & ! & ! & nbsp ComboBox1.Elements.AddObject(GetEnumName(TypeInfo(TTileBackStyle), Integer(i)), TObject(i))
& nbsp & nbsp fin
fin
procedure TForm1.FormPaint(Sender: TObject)
begin
& nbsp & nbsp aBG.Tirage(Toile, ClientRect)
fin
procedure TForm1.ComboBox1Change(Sender: TObject)
begin
& nbsp & nbsp aBG.Style := TTileBackStyle(ComboBox1.Elements.Les Objets[ComboBox1.ItemIndex])
& nbsp & nbsp Invalider
fin
procedure TForm1.Button1Click(Sender: TObject)
begin
& nbsp & nbsp si OpenDialog1.Executer ensuite
& nbsp & nbsp commencer
& ! & ! & ! & nbsp Image1.Image.LoadFromFile(OpenDialog1.Nom de fichier)
& ! & ! & ! & nbsp aBG.Image := Image1.L'image
& ! & ! & ! & nbsp Invalider
& nbsp & nbsp fin
fin
a la fin.


Un arrière-plan peintre classe

Un arrière-plan peintre classe : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation