ショートカットキーで画面をキャプチャーする – プログラミング – Home

ショートカットキーで画面をキャプチャー...
 
通知
すべてクリア

[解決済] ショートカットキーで画面をキャプチャーする


宮崎県
 宮崎県
(@宮崎県)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

はじめまして宮崎県です。OSはWindowsNTです。
VC++6.0 MFCを使って、SDIのプログラムを作っています。

あるショートカットを押すとディスクトップの全画面をキャプチャーする
プログラムを考えています。

アクセラレータで任意のショートカットキーにIDを設定して、viewクラス
で、メッセージを[command]に設定して、関数を追加しました。

プログラムは、色々なサイトや本を参考にして作りました。
void CXxxxView::Onxxxxx()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください

CDC* pDC;
pDC=GetDC();
       ;
       ; (省略)

pDC->BitBlt( 0, 0, wx, wy,&cdc, 0, 0, SRCCOPY);
  ;
       ;  (省略)
     DeleteObject(Bitmap);
}
このプログラムでは、ショートカットキーを押すと画面がキャプチャーされるのですが
再描画の問題が発生するので。OnDraw関数の中に上記のプログラムを書くことにしまし
た。しかし、OnDraw関数の中にプログラムを書くと、実行したと同時に画面がキャプチ
ャーされて表示してしまいます。

ショートカットキーを押すと初めて画面がキャプチャーできるようにしたいのです。
ショートカットキーと再描画の問題をうまく解決できる方法やヒントを教えて下さい。

初心者なので、的はずれな発言や質問などしているかもしれませんが、お許し下さい。


引用未解決
トピックタグ
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

フラグでも準備してできませんか?


返信引用
宮崎県
 宮崎県
(@宮崎県)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

Bunさんありがとうございました。
まだ始めたばかりでフラグの利用方を思いつきませんでした。

Bunさんのフラグの一言で道が開けました。過去ログや自分
なりに調べた結果、再描画の方に少し問題があるものの、実
行と同時に表示されることは、なくなりました。

今後ともよろしくお願いします。


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

ショートカットキーが押されたときにキャプチャしてビットマップに保存しておき、
OnDarw ではそのビットマップを画面に表示するだけ、
というのがいいのではないかと。


返信引用
宮崎県
 宮崎県
(@宮崎県)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

ありがとうございます。

ショートカットキーが押されたときにキャプチャしてビットマップに保存する
ことによって再描画の問題もなくなりました。

  


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました