Form.OnPaint与OnResize画图,不消失

procedure TForm1.FormCreate(Sender: TObject);
begin
  Graph:=TBitmap.Create; // On crée une variable de type TBitmap
  Graph.LoadFromFile('dessin.bmp');  // dans laquelle on met un BMP
end;

procedure TForm1.FormPaint(Sender: TObject);
// FormPaint est appelé par l'évènements OnPaint qui est déclenché à chaque fois que l'on fait apparaître la fiche
// j'ai mis aussi FormPaint dans l'inspecteur d'objet dans l'évènement OnResize de façon à ce que cette procedure
// soit également appelée lorsque l'on redimenssionne la fiche
begin
  With Canvas do
  begin
    Brush.Color:=Color; //Color dans l'inspecteur d'objet
    Pen.Color:=Color;
    Brush.Style:=bsSolid; // ainsi, le rectangle sera rempli.
    Rectangle(0, 0, ClientWidth, ClientHeight);// permet d'effacer le dessin

    Brush.color:=clred;// couleur de remplissage
    Brush.Style:=BsClear;//pour ne pas remplir l'intérieur des dessins (contraire de bsSolid)
    Pen.color:=clBlue; // couleur des traits
    Ellipse(0, 0, ClientWidth, ClientHeight);// desine une élipse qui prends une taille maximum

    Draw(0, 0, Graph); // affiche Graph et donc le BMP
    Rectangle(25, 25, ClientWidth-10, ClientHeight-10);
    Font.Height:=30;// pour déterminer la taille des textes
    TextOut(10,ClientHeight-50,'ceci est un beau dessin n''est il pas ?')
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Graph.Free; // libération des ressources utilisées
end;
 
posted @ 2014-03-04 21:16  findumars  Views(609)  Comments(0)    收藏  举报