So, ich habe einen Druckdialog, der auch wunderbar funktioniert. Nur ist es erforderlich, dass man beim Drucken Querformat auswählt, sonst wird das nichts.
Dazu muß man die DEVMODE-Struktur füllen. Und diese dann an die PRINTDLG-Struktur übergeben:
Delphi-Quellcode:
var
pd : TPrintDlg;
dm : TDevMode;
begin
ZeroMemory(@pd, sizeof(TPrintDlg));
Zeromemory(@dm, sizeof(TDevMode));
dm.dmOrientation := DMORIENT_LANDSCAPE;
pd.lStructSize := sizeof(TPrintDlg);
pd.hWndOwner := hWnd;
pd.Flags := PD_ALLPAGES or PD_COLLATE or PD_RETURNDC or PD_NOSELECTION;
pd.hDevMode := dm; // <- Hier sagt er mir: [Fehler] Inkompatible Typen: 'Cardinal' und '_devicemodeA'
pd.nCopies := 1;
Weiß jemand, wie ich das richtig machen muß?