Couper des graphiques dans le Presse-papiers
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
}