용지 종류를 알아내는 함수...
function GetPaperSize : Integer;
var
Device, Driver, Port : array[0..255] of Char;
hDMode: THandle;
ADevMode : PDeviceMode;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
ADevMode := GlobalLock(ADeviceMode);
GlobalUnlock( hDMode );
Result := ADevMode^.dmPaperSize;
end;
여기서 리턴되는 값들은 Win32의 도움말을 참조하시기 바랍니다.
예를 들어 레터 용지는 DMPAPER_LETTER, A4용지는 DMPAPER_A4, 이런 식이죠.
반대로 이 값으로 프린터의 용지를 세팅하는 함수...
procedure SetPaperSize( pSize : Integer );
var
Device, Driver, Port: array[0..255] of Char;
hDMode: THandle;
ADevMode : PDeviceMode;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
ADevMode := GlobalLock(hDMode);
ADevMode^.dmPaperSize := pSize;
GlobalUnLock(hDMode);
Printer.SetPrinter(Device,Driver,Port,hDMode);
end;
도움 되실런지요...
|