ビューに表示する
画像をビュークラスを持つウィンドウに表示するときは、「OnDraw関数」の中に
記述します。この場合、元になるデバイスコンテキストが「OnDraw関数」の引数で
渡されるので、多少、処理が簡単になります。
(下記サンプルは、マウスの右ボタンを押すと画像が表示されます。)
public:
int dispflg;
CGraphviewsapView::CGraphviewsapView()
{
// TODO: この場所に構築用のコードを追加してください。
//------------------------------
//初期化
dispflg = 0;
}
void CGraphviewsapView::OnDraw(CDC* pDC)
{
CGraphviewsapDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
//------------------------------------
int i;
if(dispflg > 0){
CDC myDC; //ビットマップ表示用デバイスコンテキスト
CBitmap myBMP; //ビットマップ処理用オブジェクト
myBMP.LoadBitmap(IDB_BITMAP_SAMPLE); //画像読み込み
myDC.CreateCompatibleDC(pDC); //myDCをpDCと互換性のあるものにする
CBitmap* oldBMP = myDC.SelectObject(&myBMP); //myBMPを選択
pDC->BitBlt(0,0,320,240,&myDC,0,0,SRCCOPY); //ビットマップの描画
myDC.SelectObject(oldBMP); //元のビットマップに戻す
}
}
//画像の描画を実行
void CGraphviewsapView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
//------------------------------------------
dispflg = 1; //画像表示
Invalidate(); //再描画
CView::OnLButtonDown(nFlags, point);
}