Couper des graphiques dans le Presse-papiers

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation du presse-papiers avec les graphiques


Couper un graphique dans le presse-papiers est identique à la copie, mais le graphique est supprimé de la source.

Pour couper un graphique dans le presse-papiers, commencez par le copier dans le presse-papiers, puis supprimez l’original.

Lorsque vous coupez un graphique, la seule question est de savoir comment montrer que l'image originale a été effacée. La solution classique consiste à mettre la région à blanc, comme dans le code suivant qui attache un gestionnaire à l'événement OnClick d'un élément de menu Edition > Couper  :

procedure TForm1.Cut1Click(Sender: TObject);
var
  ARect: TRect;
begin
  Copy1Click(Sender); { copier l'image dans le presse-papiers }
  with Image.Canvas do
  begin
    CopyMode := cmWhiteness; { copie tout en blanc }
    ARect := Rect(0, 0, Image.Width, Image.Height); { obtient le rectangle du bitmap }
    CopyRect(ARect, Image.Canvas, ARect); { copier le bitmap sur lui-même }
    CopyMode := cmSrcCopy; { revient au mode normal }
  end;
end;
void __fastcall TForm1::Cut1Click(TObject *Sender) {
	TRect ARect;
	Copy1Click(Sender); // copier l'image dans le presse-papiers
	Image->Canvas->CopyMode = cmWhiteness; // copie tout en blanc
	ARect = Rect(0, 0, Image->Width, Image->Height); // obtenir les dimensions de l'image
	Image->Canvas->CopyRect(ARect, Image->Canvas, ARect);
	// copier le bitmap sur lui-même
	Image->Canvas->CopyMode = cmSrcCopy; // rétablir le mode par défaut
}

Voir aussi