名前 題名 ▼ takiさん > 理由はわかりませんが、PrinterSetupDialogの後にPrintDialogを > 呼び出すと用紙の長さが変わります。(正常になります。) > > procedure TForm1.Button3Click(Sender: TObject); > var > ADevice : array[0..MAX_PATH-1] of Char; > ADriver : array[0..MAX_PATH-1] of Char; > APort : array[0..MAX_PATH-1] of Char; > ADeviceMode : THandle; > ADevMode : PDeviceMode; > > begin > if PrinterSetupDialog1.Execute then begin > // 縦の長さを得る > Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode); > ADevMode := GlobalLock(ADeviceMode); > try > label1.Caption := inttostr(ADevMode^.dmPaperLength); > finally > GlobalUnlock(ADeviceMode); > end; > > // 必要ないけどPrintDialogを開く > PrintDialog1.Execute; > > // もう一度縦の長さを得る > Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode); > ADevMode := GlobalLock(ADeviceMode); > try > label4.Caption := inttostr(ADevMode^.dmPaperLength); > finally > GlobalUnlock(ADeviceMode); > end; > end; > end; > > まあ、これでもいいかな? GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link