名前 題名 ▼ junroさん > マスター、皆さんこんばんは。 > > junro と申します。 > > 環境 > WindowsXP Pro SP2, Delphi7 Ent > > plTackPrev を利用させていただいておりますが > アドバイスをいただきたい事があります。 > > プレビューが必要ない場合に、頁選択をさせるために > TPrintDialogで選択させてから印刷を行ったところ、 > > // 前略 > if PrintDialog1.Execute then > begin > // 情報獲得 > plSetPrinter1.PrinterName := Printer.Printers[Printer.PrinterIndex]; > plTackPrev1.PrintFromPage := PrintDialog1.FromPage; > plTackPrev1.PrintToPage := PrintDialog1.ToPage; > // 印刷 > plTackPrev1.Print; > end; > // 後略 > > PrintDialog1.FromPage = 1 > PrintDialog1.toPage = 1 > の場合だと全件印刷されてしまいます。 > 1以外ならば指定した頁だけが印刷されます。 > > 中をのぞいたところ、plPrev.pasのTCustomplPrev.SetPageCountで > PrintToPageを設定しているようなので、ここを直せば良いと > 思うのですが、どうもよくわかりません(汗 > > APage の値が初期化されないまま利用されることがあるようなので > とりあえず下記のようにして使用していますが、他に影響は無いも > のでしょうか? > > どなたかアドバイスをお願いいたします。 > > //============================================================================= > // 総頁数と印刷終了頁の設定 > // 逐次表示方式で使用.先読方式では描画ルーチンの最後で決まる > //============================================================================= > procedure TCustomplPrev.SetPageCount(const Value: Integer); > var > APage : Integer; > begin > APage := 1; // ←ここを追加した > if Value<=0 then exit; > if FDrawType=dtCont then exit; > if FPrintToPage<>1 then APage:=FPrintToPage; > FPageCount := Value; > FPrintToPage := 1; > if APage<>FPrintToPage then FPrintToPage:=APage; > end; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link