4

Adobe が PDF を表示する ActiveX コントロールを持っているように、IE 内で特定のファイル形式のドキュメントを表示する ActiveX コントロールを持っています。

私のコントロールは、PDF ビューアと同様にフルページ コントロールです。IE 独自のEnableFullPage メカニズムを使用して、IE のクライアント領域全体を占有します。

印刷、印刷プレビュー、ページ設定、名前を付けて保存、すべて選択、コピー、検索など、ドキュメントに関連するさまざまなメニューおよびツールバー コマンドを制御したいと考えています。PDFビューアがそれを行うので、これを行うための公式APIが必要だと思います。(たとえば、埋め込まれた ActiveXコントロールを印刷するための標準的なメカニズムは適用されないことに注意してください。PDF ビューアーと同じように、独自の [印刷] ダイアログを表示してプロセス全体を制御する必要があります。)

(IE8 より前は、Win32 サブクラス化を使用して IE 自体をハックすることでそれを行うことができました。これは厄介ですが機能します。しかし、IE8 では、ツールバーとは別のプロセスでタブの内容が保持されるため、DLL インジェクションなしではオプションではありません。 Adobe PDF ビューアがそれを行っていないことがわかります. そのため、公式のメカニズムがあると私は信じています.)

4

2 に答える 2

2

おそらくDocObjectsに関連するいくつかのインターフェース、おそらく IOleInPlaceFrame + IOleCommandTarget

于 2009-09-15T23:21:12.067 に答える
1

Anders が提案したように、 ActiveDoc サンプルをアクティブ ドキュメント サーバーを実装するためのベースとして使用できます。彼が指摘したように、IOleCommandTarget を追加すると、メニュー項目を制御できるようになります。

于 2009-10-11T23:27:52.003 に答える