1

ArcMap のツールバー エクステンションとして vb.net プロジェクトを実行しています。私の各ツールは、.ShowDialog() メソッドを使用してモーダル ダイアログを開きます。クライアントは、HTMLHelp や Windows ヘルプ ビューアーなどの従来の方法ではなく、ヘルプ ドキュメント ツールとして機能するツールから PDF ドキュメントを開くことができるようにしたいと考えています。
そこで、Interop.AcroPDFLib.dll をインポートし、AxAcroPDF (veiwer) オブジェクトを含むフォームをセットアップしました。ユーザーがいずれかのツール ダイアログでヘルプ ボタンをクリックすると、.Show() を使用してヘルプ フォームが開き、.setCurrentPage メソッドを使用してドキュメント内の関連するページに移動します。この時点まで、すべてがうまく機能します。

ただし、ご想像のとおり、ツール ダイアログはモーダルであるため、ユーザーは PDF フォームを操作できません。そのため、ツール ダイアログが開いている間にユーザーがページをスクロールしたり、PDF 内のリンクをクリックしたりできるように、このブロックを防止する手法が必要です。つまり、従来の HTMLHelp ビューアーを使用して模倣するソリューションが必要です。

新しいスレッドで PDF フォームを開こうとしましたが、ArcMap が Application.Run(New PDFForm) でクラッシュします。これは、私がマルチスレッドの経験がほとんどないためか、ArcMap がマルチスレッドをサポートしていないためかもしれません。わからない。

とにかく、私を始めるための提案は大歓迎です。

4

0 に答える 0