名前 題名 ▼ takiさん > マスター お世話になります。 > サンプルプログラム集 > 「011_プリンタドライバの情報をDEVMODE構造体から取得」での質問です。 > > やりたい事はPrinterSetupDialogを表示して「用紙サイズ」(種類)を変更したり > 「印刷の向き」を変更することで変更された用紙の大きさ(縦・横の長さ)を > 得て印刷データの行数を決めたいのです。 > > dmOrientation,dmPaperSize,dmPaperLength,dmPaperWidthの情報がそれらに > 該当するのですが、 > サンプルに同梱されている「DEVMODE_Structure.exe」で試したところ > > A4縦 → portrait,A4,2970,2100(初期値) > A4横 → landscape,A4,2970,2100 > 再度 A4横 → landscape,A4,2970,2100 > A4縦 → portrait,A4,2970,2100 > となります。縦と横の長さが入れ替わるかなと予想したのですが、 > そうではないようです。 > > 次に用紙のサイズ(種類)を変更したところ > B5縦 → portrait,B5,2970,2100 (A4用紙の長さが残る?) > 再度 B5縦 → portrait,B5,2570,1820 (B5に直った) > となりました。 > > A4縦 → portrait,A4,2570,1820 (B5用紙の長さが残る?) > 再度 A4縦 → portrait,A4,2970,2100 (A4に直った) > > どうやらdmPaperLength,dmPaperWidthの情報は直ちには反映されない > ようなのですが、これは仕様?なのでしょうか。 > それとも私のPCもしくはプリンタードライバーだけの現象なのでしょうか。 > > 環境 Windows7 Pro,Delphi XE4 Starter,Canon MG5430 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link