■62010 / inTopicNo.1) |
WebBrowserの印刷ページ設定 |
□投稿者/ ムーくん (1回)-(2011/09/15(Thu) 13:20:17)
|
分類:[VB.NET/VB2005 以降]
使用言語:VB 2008 こんにちは。WebBrowserの印刷ページ設定で質問があります。 WebBrowserの内容を印刷する場合、余白やヘッダ・フッタ文字の設定はIEと共通のため、 レジストリの内容を書き換えることで対応できるという記事が、以下の過去スレにありました。
WebBrowserのPrint()メゾットについて http://bbs.wankuma.com/index.cgi?mode=al2&namber=37769&KLOG=65
これを参考に、レジストリを書き換えてWebBrowserの印刷を行うと、せっていが反映されて印刷されることを確認しましたが、 上のスレッドでも指摘されています通り、VB側で書き換えたレジストリの内容は、印刷終了後には元に戻したいと思っています。
そこで、以下のように試してみたところ、印刷内容がレジストリ書き換え前の状態で印刷されてしまいます。
'レジストリ設定 '(コード省略)
'印刷ダイアログ表示 WebBrowser1.ShowPrintDialog()
'レジストリの内容を元に戻す '(コード省略)
色々と調べてみると、どうも印刷が実行される前に、レジストリの内容を元に戻す処理が走ってしまうようです。 ちなみに、レジストリの内容を元に戻す処理をコメントアウトすると、VB側で設定した状態で印刷することができました。 とりあえず、レジストリの設定・および元に戻す処理自体は正しく処理されていることをregeditで確認しております。
おそらく印刷処理は並行処理されているので、WebBrowser1.ShowPrintDialog()のすぐ後にレジストリを元に戻す処理を入れては いけないのだと思いますが、どこでIEのレジストリ内容を戻せばいいのか、タイミングが分からずに困っております。 (何か印刷が終了したというイベントが拾えるといいのですが。)
|
|