Ich erzeuge eine Linie (also eigentlich 4
) auf einer TPaintBox, worauf ich zuvor ein BitMap kopiert hab. So sieht die "Paint"-Routine aus:
Delphi-Quellcode:
procedure TfrmMain.pbMapPaint(Sender: TObject);
begin
BitBlt(pbMap.Canvas.Handle, xDis, yDis, bMap.Width, bMap.Height, bMap.Canvas.Handle, 0, 0, SrcCopy);
if (selectRect.X >= 0) and (selectRect.Y >= 0) then begin
pbMap.Canvas.MoveTo((selectRect.X * 32) + xDis, (selectRect.Y * 32) + yDis);
pbMap.Canvas.LineTo(((selectRect.X + 1) * 32) + xDis, (selectRect.Y * 32) + yDis);
pbMap.Canvas.LineTo(((selectRect.X + 1) * 32) + xDis, ((selectRect.Y + 1) * 32) + yDis);
pbMap.Canvas.LineTo((selectRect.X * 32) + xDis, ((selectRect.Y + 1) * 32) + yDis);
pbMap.Canvas.LineTo((selectRect.X * 32) + xDis, (selectRect.Y * 32) + yDis);
end;
end;
Zuvor ist natürlich der Style des Pens auf "psDot" gesetzt. Dummerweise zeichnet er aber die Zwischenräume mit der .Color-Eigenschaft der TpaintBox. Kann ich irgendwie sagen, dass das Durchsichtig sein soll?