こんにちは。
VC++&MFCとWMF(Windows Meta File)について質問させて下さい。
私は、8年前くらいに学生の研究で普通のテキストエディタ等でC++のコーディングをしていたことがあるのですが、このたび仕事でVisual StudioとMFCを使用してWindowsプログラムの改修をすることになりました。
ネットで検索したり書籍で調べたのですがなかなか的を得ず、質問させて頂こうと思いました。
改修対象はVC++6.0で書かれたプログラムです。
至ってシンプルで、以下の機能を有します。
・グラフ等の描画内容が書かれたファイルを読み込み、自ウィンドウ内に表示
・上記で表示されたものを印刷
今回これに、「画面表示したものをWMFフォーマットのファイルに落とす」という機能を加えようと思っています。
現在のソースコードは、おそらく自動生成されたであろう「xxxView」というクラスの「OnDraw」というメソッドから、ファイルを読み出す関数を呼び出したりして、引数で貰ったデバイスコンテキスト(pDC)でお絵描きをしています。
メニューバーから「保存」が選択されると保存ダイアログを表示し、WMFファイルに保存するようにしたいのですが、以下の点をご教示頂きたくお願い致します。
(1) CDCで描いたものをWMFファイルに保存するにはどうすれば良いのか。
(2) メニューのコマンドID(というのでしょうか…)に対応する処理(今回実装する処理)はどこに書くのが妥当なのか。
(3) メニューのコマンドIDには用意されているもの(ID_FILE_SAVE_ASなど)が色々あるが、今回それらは用いずに新たに自分で定義するべきなのか。
(4) その他、ご指摘やアドバイス、参考となりそうな書籍など。
お手数ですが、ご回答頂けると幸いです。
宜しくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
(1) だけですが、
CMetaFileDC インスタンス作成
↓
CMetaFileDC::Create
↓
いろいろ描画
↓
CMetaFileDC::Close
といった流れになるようです。
http://msdn.microsoft.com/ja-jp/library/427wezx1 …
この回答への補足
2週間経ちましたので、そろそろ締め切ろうと思います。
メニューのコマンドは、「xxxView」クラスに新しいメソッドを設けて、そこで受けることにしました。
メタファイルのデバイスコンテキスト作成は出来たのですが、現状、CDCで描画した内容をビットマップでメタファイルのデバイスコンテキストにコピーしてくることしか出来てません。
また改めて質問内容を変えて投稿させて頂きます。
お騒がせ致しました。
ご回答ありがとうございます。
CMetaFileDCのインスタンスを作成して、CDCのインスタンスを作成してOnDraw関数を呼び出し、戻ってきたらCMetaFileDCのBitBltメソッドでCDCをコピー。という手順になるのでしょうか?。。
現在割り込みの仕事が入り本作業はペンディングしているのですが、月曜日に試してみるように致します。
ありがとうございました。
引き続き、皆様のご回答お待ちしております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/21 16:01
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】自動的にバックア...
-
Excel VBAでほかのアプリケーシ...
-
MPLABのソースファイルが保存で...
-
読み取り専用ファイルを上書き...
-
タイトルバーやメニューバーの...
-
VB.NETでEXCELファイルを開き、...
-
VBSでWordの文字色変え
-
IEのダウンロードファイル保存...
-
Corel Digital Studioの動画をS...
-
onedriveで同期解除をしたら、...
-
論文に載せるグラフを作成したい
-
Windowsファイルエクスプローラ...
-
壁紙・スクリーンセーバーの削...
-
共有しているファイルを削除し...
-
USBデータの消失
-
ファイルの保存をOnedriveのク...
-
ごみ箱から元に戻したファイル...
-
大量のファイルの中から壊れた...
-
USBメモリにフォルダをコピーす...
-
ls であるファイル以外を表示し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
読み取り専用ファイルを上書き...
-
Excel VBAでほかのアプリケーシ...
-
Corel Digital Studioの動画をS...
-
コマンドプロンプトでデスクト...
-
Excel VBAで作成したマクロをxl...
-
エクセルで「名前を付けて保存...
-
ExcelVBAでデスクトップのPATH...
-
VBA メモ帳の上書き保存がしたい
-
VBAで、強制保存してブックを閉...
-
irvineを利用してVBAからダウン...
-
VBScriptでのSaveAsについて
-
webページの特定の部分だけ消し...
-
VBScriptで日本語が変です
-
Pivot table で集計されたデー...
-
AccessVBAでレポートをPDFで出力
-
vbaでIEの名前を付けて保存(A)...
-
エクセル:マクロ:保存時に連...
-
ファイルのダウンロード保存先...
-
htmlから取り込んだ を消...
-
印刷と保存の仕方をVBAマクロの...
おすすめ情報