掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
checkboxとradiobuttonの印刷について (ID:35650)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。 同様の印刷の問題があって検索したところここに行き着きました。 Mr.XRAYさんの方法でPrintWindowをPaintToの代わりにコードを変えて実行したのですが、印刷物にはなにも書かれていませんでした。 下記がそのコードなのですが、間違いがあればお教えください。 procedure TPreviewForm.Button1Click(Sender: TObject); var DC: HDC; DevPPIX, DevPPIY: integer; begin try Printer.BeginDoc; DC := Printer.Canvas.Handle; DevPPIX := GetDeviceCaps( DC, LOGPIXELSX ); DevPPIY := GetDeviceCaps( DC, LOGPIXELSY ); SetMapMode( DC, MM_ANISOTROPIC ); SetViewPortExtEx(DC, DevPPIX, DevPPIY, nil ); SetViewPortOrgEx(DC, 0, 0, nil ); SetWindowExtEx( DC, Round( PagePanel.Width * DevPPIX / Printer.PageWidth ), Round( PagePanel.Height * DevPPIY / Printer.PageHeight ), nil); // 幅を合わせて等倍 // Round( PagePanel.Width * DevPPIX / Printer.PageWidth ), nil); // PagePanel.PaintTo(DC, 0, 0); PrintWindow(Self.Handle,DC,100); finally Printer.EndDoc; end; end; もちろん、 function PrintWindow( hwnd : HWND; hdcBlt : HDC; nFlags : UINT ) : BOOL; stdcall; external 'user32.dll'; をinterfaceの最後(varのすぐ上)に宣言しています。 よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.