3

私はしばらくこれについて研究してきましたが、前進することはできません。

ユーザーの要求に応じて Web ブラウザー コントロール内に Web ページを読み込む Outlook 共有アドイン (.Net 4.0 の C#) を開発しています。Windows.Forms.WebBrowser コントロールと AxSHDocVw.AxWebBrowser コントロールの両方を使用してみました。私が読み込んでいる Web ページには、基本的な html/asp.net テキストボックスと、Telerik ボタンと redSelect コントロールへのラベルを含む (ただしこれらに限定されない) 多くの html コントロールがあります。

私が抱えている問題は、ユーザーの DPI 設定が高い場合、Web ページのコントロールのサイズが正しく変更されないことです。つまり、ラベルと textBoxes は正しくサイズ変更されますが、他のコントロール (主に Telerik コントロール) はサイズ変更されません (または、縮小されているのでしょうか??)。ただし、高 DPI で IE、FF、Chrome、またはその他のブラウザーで同じ Web ページを開くと、すべてのコントロールが正しくスケーリングされます。

Outlook.exeの「FEATURE_BROWSER_EMULATION」レジストリキーも設定しようとしましたが、役に立ちませんでした。私のアプリケーションは Outlook 共有アドインであるため、dpiAware 設定を設定するためのマニフェストがありません。

誰もそのような問題に遭遇しましたか? どんな助けでも大歓迎です。ありがとう!

- 編集 -

さらにテストしたところ、Outlook が既に dpiAware として宣言されていることが問題であることがわかりました。このため、Telerik コントロールがスケーリングされません。Web ブラウザ コントロールに dpi un-aware として表示するように指示する方法はありますか? または、これを解決するためのより良い方法はありますか?

4

1 に答える 1

2

次の投稿を確認Microsoft Web Browser コントロールを使用すると、Graphics Device Interface (GDI) でリソース制限が発生する場合があります。この投稿は、Microsoft Office XP または Microsoft Office 2003 を実行している WinXP または Server 2003 コンピューターに関連しています。

もう 1 つ注目すべきは、FEATURE_IVIEWOBJECTDRAW_DMLT9_WITH_GDIです。

Internet Explorer 9. 既定では、WebBrowser コントロールは Microsoft DirectX を使用して Web ページをレンダリングします。これにより、Draw メソッドを使用して特定の Web ページからビットマップを作成するアプリケーションで問題が発生する可能性があります。

于 2013-07-19T02:21:47.360 に答える