名前 題名 ▼ Mr.XRAYさん > > う〜む(こればっかり).さ〜て,どうしたらいいのか... > > こうしましょう.TplPrevの継承元であるTCustomplPrevのprotected部の > メソッドを使用してみることにします. > まず適当な場所に(ここではimplementationにしている) > (TPrevはなんでもよい) > > implementation > > type > TPrev = class(TCustomplPrev); > > と定義して下さい.次に, > //TplPrevでは0.1mmm単位に戻すということ > SetMapMode(Range.hdc,OldMap); > の後に以下の行を追加して下さい. > > TPrev(plPrev1).ScaleInitialize(plPrev1.Canvas,False); > (第2引数はFalseでもTrueでもどちらでも可) > > そして,例えば,印刷のルーチンを以下の様にします. > > //==================================================================== > // 印刷プレビュー(逐次表示方式)の印刷メソッド > // で,ここでは別の描画ルーチン作成して呼出している. > //==================================================================== > procedure TForm1.TestPrint; > begin > plPrev1.FontHeight(60); > plPrev1.TextOut(200,200,'リッチエディトの印刷例'); > RichEditPrint(300,1900,450,1800,RichEdit1); > > plPrev1.Canvas.Font.Height:=80; > plPrev1.Canvas.TextOut(200,2000,{LastY+50,}'次の行'); > plPrev1.Canvas.TextOut(200,2300,{LastY+50,}'次の行'); > end; > > これでしばらく様子をみて下さい. > 参考までに,RichEdit1,RichEdit2のサンプルコードは,VCLのRichEditのPrint > メソッドを真似たものです(コードはComCtrls.pas内). > > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link