名前 題名 ▼ Mr.XRAYさん > 今読み返してみました. > > > ここで、プレビューは横で表示されるのですが、プリントするとプリンタ設定 > > で縦がデフォルトになっている場合(つまりデフォルトを横に変えない限り) > > 縦方向に印刷されてしまいます。いろいろ試した結果、どうも通常使用する > > プリンタが、NetBiosで共有されているプリンタの場合に起きるようです。 > > (通常使用するプリンタがネットワークプリンタで、plPrevFormの印刷ボタン > > からプリンタを変更し、NetBios共有プリンタに出力した場合は横方向で印刷 > > されます。) > > これは考えられます. > > > plSetPrinter1.PrinterNumber := -1; > > plSetPrinter1.SetOrientation(poLandscape); //横 > > まず最初の行でデフォルトのプリンタを指定しています.そのプリンタの印刷 > 方向を横にしています.印刷の際にプリンタを変更すると,前のプリンタに設 > 定した内容(プロパティ)が必ずしも反映されるとは限りません. > 例えば用紙サイズなどを考えればいいでしょう.他のプリンタでは使用できない > 用紙サイズもあります. > > 対象であるプリンタ名とドライバが不明ですので,こちらでは確認できません > が,おそらくそのためだと思われます. > 印刷プレビュー制御コンポーネントは,ワードや他のレポート作成ツールとは > 違い,内部で用紙サイズや印刷方向を保持しているわけではありません.あく > までも,指定したプリンタに対する設定で行います. > プリンタが存在しない環境では使用できないのもそのためです. > > 強制的に印刷方向を変更するのであれば,以下のの様にTplPrevのイベント > OnPrintButtonClickに > > Printer.Orientation:=poLandscape; > あるいは, > plPrev1.plSetPrinter.Orientation:=poLandscape; > と記述して下さい. > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link