掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WebBrowserを印刷するには? (ID:1258)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
やり方の前に、先に進言しておきます。 WebBrowserを利用するには、OLEの知識が必要となる場合があります。 単純に、WebBrowser.Navigateで表示し、何らかのアクションでForm2を表示、Form2のCommandButtonを押すと印刷。だけでしたら、今回の質問だけでうまく行くと思います。 例えば、Form2でプリンタの設定をして、A4かB5か、縦か横か、などの情報も含めて設定するとなると、質問だけでは難しくなります。 Delphian World(http://home1.infonia.ne.jp/~delphian/delphi/)に、TUIWebBrowserというコンポーネントがあります。これは、WebBrowserの「癖」を、できるだけ解消してくれるものです。 確か、WebBrowserの代用として使用する程度ならば、フリーだったと思います。 この作者のホームページ(http://plaza21.mbn.or.jp/~takoyakusi/)には、TUIWebBrowser印刷用コンポーネントもあります。 さて本題ですが、 procedure TForm2.CommandButtonClick(Sender: TObject); var tmp:OleVariant; begin Form1.WebBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER , tmp, tmp); end; こんな感じになります。 Form1のWebBrowserの、ExecWB関数を呼び出します。 引数に、 ・印刷を示すOLECMDID_PRINT ・プロンプトを出さないことを示すOLECMDEXECOPT_DONTPROMPTUSER ・戻り値はいらないので次の2つは無意味な変数 を用意しています。 もし、IEデフォルトの印刷ダイアログが必要なら、 OLECMDEXECOPT_DONTPROMPTUSER を、 OLECMDEXECOPT_DODEFAULT に変更してください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.