je sais que c'est déjà posé mais j'ai chérché sans succée
alors voila commant changé la taille de la page d'impression
-comment en peut utilisé EnumDisplaySettings avec
merci de votre attention
je sais que c'est déjà posé mais j'ai chérché sans succée
alors voila commant changé la taille de la page d'impression
-comment en peut utilisé EnumDisplaySettings avec
merci de votre attention
Bonjour,
Je ne connais pas l'API EnumDisplaySettings.
Personellement j'utilise les propriété de l'objet printer de delphi.
vous pourriez essayer avec.
Soit directement via les "printer.Width", "printer.Height".
Soit via les "Printer.GetPrinter" et printer.SetPrinter".
La 2° solution permet d'avoir acces a beaucoup plus de donnée (taille logique de la feuille de sortie, taille physique de la feuille de sortie, memoire de l'imprimante etc.).
exemple de setPrinter:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 procedure TFPalettepreview.SetPrinterInfo(PageSize, Orientation: SHORT); var ADevice, ADriver, APort:string ; PDevMode: PDeviceMode ; ADeviceMode: THandle ; begin SetLength(ADevice, 256) ; try SetLength(ADriver, 256) ; try SetLength(APort, 256) ; try Printer.GetPrinter(PChar(ADevice), PChar(ADriver), PChar(APort), ADeviceMode); PDevMode := GlobalLock(ADeviceMode) ; try PDevMode^.dmPaperSize := PageSize; PDevMode^.dmOrientation := Orientation; Printer.SetPrinter(PChar(ADevice), PChar(ADriver), PChar(APort), ADeviceMode); finally GlobalUnlock(ADeviceMode) ; end; finally SetLength(ADevice, 0) ; end; finally SetLength(ADriver, 0) ; end; finally SetLength(APort, 0) ; end; end;
Partager