ImageEn has very flexible methods to show the PRINT DIALOG, for example:
// Create a temporary TIEBitmap to hold the flattened image
TempBitmap := TIEBitmap.Create;
try
// Copy the current image (and not the layers) to TempBitmap
TempBitmap.Assign(ImageEnViewPreview.IEBitmap);
// Draw all layers onto TempBitmap
ImageEnViewPreview.LayersSaveMergedTo(TempBitmap);
// Now TempBitmap contains the "flattened" image
// create an IO object from TempBitmap:
var PIO := TImageEnIO.CreateFromBitmap(TempBitmap);
try
// now print from the IO object:
PIO.DoPrintPreviewDialog(iedtDialog);
finally
PIO.Free;
end;
finally
// Free the temporary bitmap
TempBitmap.Free;
end;
Now to the suggestions:
1. The Print dialog should have a SIZE-GRIP in its bottom-right corner. This would make it easier for the user to resize the Print dialog.
2. The Print dialog always opens at a predefined, relatively small size, even if the user has previously resized it. This is frustrating for the user. Please make the Print dialog remember its previous size. It should be possible to programmatically set the size of the Print dialog before displaying it. This would also enable the developer to persistently save and restore the Print dialog's size between sessions.