0

cxGrid には、「イメージ」タイプの列があります (プロパティ = イメージ、グラフィック クラス名 = TJpegImage)。PopUpMenuLayout - MenuItems に、「Open With...」という CustomMenuItem を追加しました。このカスタム メニュー項目を実装して、下にある画像をペイント (Windows ペイント) で開くにはどうすればよいですか? または、少なくとも「Open with ..」ウィンドウダイアログをトリガーします。

4

1 に答える 1

2

画像をデータベースに保存している場合は、最初にコンピュータ上の画像ファイルに保存する必要があります。

その後、ShellExecute を使用して、デフォルトの画像表示/編集プログラムでこの画像を開くことができます。ShellExecute は、ユーザーがファイルをダブルクリックした場合と基本的に同じように機能します。問題は、通常、画像ファイルをダブルクリッキングするとプレビューが開くため、ShellExecute を使用してその画像を編集する必要がある場合、最善の方法ではない可能性があることです。

画像がプレビューだけでなく編集用に開かれていることを確認するには、Windows レジストリを読み取って、その特定の画像形式の表示と編集に使用されているプログラムに関する情報を取得し、代わりに CreateProcess API cal を使用する必要があります。

また、CreateProcess API 呼び出しを使用してそのプログラムを起動し、画像の場所を起動パラメーターとして渡すことにより、特定のプログラムで画像が開かれていることを確認することもできます (ほとんどの画像編集プログラムは、最初のパラメーターを起動時に開くファイルとして扱います)。

于 2014-06-03T07:17:07.310 に答える