für ein Präsentationsprogramm möchte ich die Möglichkeit bieten, anstatt die Präsentation zu zeigen, diese als Graphik zu exportieren. Dazu möchte ich gerne eine Form erzeugen, diese ggf. verändern und dann das Canvas von ihr erhalten, ohne sie zu zeigen (also Show() zu verwenden).
Folgendes habe ich probiert:
Code: Alles auswählen
PreviewPresentationForm := TFrmPresent.Create(frmSettings);
// ein paar Aktionen auf der Form vornehmen
PreviewPresentationForm.Refresh;
PreviewPresentationForm.Repaint;
PreviewPresentationForm.Update;
PreviewPresentationForm.Invalidate;
PreviewPresentationForm.Canvas.Refresh;
imgWidth := PreviewPresentationForm.Width;
imgHeight:= PreviewPresentationForm.Height;
Rectangle:= Rect(0, 0, imgWidth, imgHeight);
ImagePresentationPreview.Picture.Bitmap.Width := imgWidth;
ImagePresentationPreview.Picture.Bitmap.Height:= imgHeight;
ImagePresentationPreview.Picture.Bitmap.Canvas.CopyRect(Rectangle, PreviewPresentationForm.Canvas, Rectangle);
Vielen Dank euch!