TCanvas.StretchDraw
peint un graphique sur une toile dans une zone rectangulaire donnée. Le rectangle devrait, mais n'a pas besoin d'être, dans les limites de la toile. Le propriétaire de la toile détermine ces limites. Dans votre cas, il semble que le propriétaire de la toile soit l'objet TGraphicControl
.
Si vous souhaitez que deux graphiques soient peints côte à côte, le TRect
que vous utilisez pour dessiner le premier graphique doit représenter un rectangle adjacent au TRect
que vous utilisez pour le deuxième graphique. Vous n'avez encore montré aucun code, il est donc difficile de savoir ce qui ne va pas.
Si vous utilisez la même variable TRect
pour les appels à StretchDraw
, alors vous devez vous assurer que vous modifier la position du rectangle entre les appels - modifier la propriété Left
, pour commencer.
Par exemple:
var
r: TRect;
begin
r := ClientRect;
// First rectangle takes up left half of control
r.Right := r.Right div 2;
Canvas.StretchDraw(r, graphic1);
// Shift the rectangle to the right half
r.Left := r.Right;
r.Right := ClientRect.Right;
Canvas.StretchDraw(r, graphic2);
end;