Définition de la taille initiale du bitmap

De RAD Studio
Aller à : navigation, rechercher

Remonter à Ajout d'un contrôle image


Lorsqu'un contrôle image est ajouté, il n'existe qu'en tant que conteneur. La propriété Picture du contrôle image peut être définie en mode conception de façon à contenir un graphique statique. Le contrôle peut également charger l'image depuis un fichier pendant l'exécution, comme décrit dans Chargement et enregistrement de fichiers graphiques.

Pour créer un bitmap vide au démarrage de l'application

  1. Attachez un gestionnaire à l'événement OnCreate de la fiche contenant l'image.
  2. Créez un objet bitmap, et affectez-le à la propriété Picture.Graphic du contrôle image.

Dans cet exemple, l'image est dans Form1, la fiche principale de l'application. Le code attache donc un gestionnaire à l'événement OnCreate de Form1 :

 procedure TForm1.FormCreate(Sender: TObject);
 var
 Bitmap: TBitmap;{ variable temporaire pour contenir le bitmap }
 begin
 Bitmap := TBitmap.Create;{ construire l'objet bitmap }
   Bitmap.Width := 200;{ affecte la largeur initiale... } }
   Bitmap.Height := 200;{ ...et la hauteur initiale }
   Image.Picture.Graphic := Bitmap;{ affecter le bitmap au contrôle image }
   Bitmap.Free; {Nous en avons terminé avec le bitmap, donc nous le libérons }
 end;
 void __fastcall TForm1::FormCreate(TObject *Sender)
 {
   Graphics::TBitmap *Bitmap = new Graphics::TBitmap();   // créer l'objet bitmap
   Bitmap->Width = 200;               // définir la largeur initiale et ...
   Bitmap->Height = 200;              // ...la hauteur initiale
   Image->Picture->Graphic = Bitmap;  // affecter le bitmap au contrôle image
   delete Bitmap;                     // libérer l'objet bitmap
 }

L'affectation du bitmap à la propriété Graphic de l'image copie le bitmap dans l'objet Picture. Mais, celui-ci ne devenant pas propriétaire du bitmap, vous devrez le libérer après avoir effectué l'affectation.

Si vous exécutez l'application maintenant, la zone client de la fiche apparaît comme une zone blanche représentant le bitmap. Si vous redimensionnez la fenêtre de sorte que la zone client ne puisse afficher toute l'image, la boîte de défilement affiche automatiquement des barres de défilement pour permettre la visualisation du reste de l'image. Mais si vous essayez de dessiner dans l'image, rien n'apparaît : l'application dessine toujours dans la fiche qui est derrière l'image et la boîte de défilement.

Voir aussi