Ich habe in deinem Code den Click-Handler von Button7 ersetzt:
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var
bm: TBitmap;
r: TRect;
begin
bm := BitmapFromWinControl(self);
UnionRect(r, Button1.BoundsRect, Edit1.BoundsRect);
// InflateRect(r, 4, 4);
with BitmapFromBitmap(bm, r) do
begin
SaveToFile('Demo.bmp');
Free;
end;
bm.Free;
end;
Damit legst du im Code fest, dass der Ausschnitt Button1 und Edit1 enthalten soll. InflateRect() bläst den Ausschnitt um 4 Pixel rundherum auf - damit es nicht so gedrängt aussieht. Auch ein interaktiver Ansatz ist machbar, indem du auf Form-Ebene ein Fokus-Rechteck aufziehst und darüber den Ausschnitt definierst.
Freundliche Grüße