フォーム表示する


//---------------------------
public:
	int dispflg;


CGraphfrmsapDlg::CGraphfrmsapDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CGraphfrmsapDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CGraphfrmsapDlg)
		// メモ: この位置に ClassWizard によってメンバの初期化が追加されます。
	//}}AFX_DATA_INIT
	// メモ: LoadIcon は Win32 の DestroyIcon のサブシーケンスを要求しません。
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

	//------------------------------
	//初期化

	dispflg = 0;
}

void CGraphfrmsapDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // 描画用のデバイス コンテキスト

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// クライアントの矩形領域内の中央
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// アイコンを描画します。
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();

		//----------------------------------
		//画像描画処理
		if(dispflg){
			CDC* pDC = this->GetDC();                     //現在のデバイスコンテキスト取得
			CDC myDC;                                     //ビットマップ表示用デバイスコンテキスト
			CBitmap myBMP;                                //ビットマップ処理用オブジェクト生成
			myBMP.LoadBitmap(IDB_BITMAP_SAMPLE);          //画像読み込み
			myDC.CreateCompatibleDC(pDC);                 //pDCと互換性のあるmyDCにする
			CBitmap* oldBMP = myDC.SelectObject(&myBMP);  //myBMP選択
			pDC->BitBlt(5,40,320,240,&myDC,0,0,SRCCOPY);  //ビットマップを転送
			myDC.SelectObject(oldBMP);                    //元のビットマップに戻す
		}
	}
}

void CGraphfrmsapDlg::OnButton1() 
{
	// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
	
	//------------------------------------
	dispflg = 1;         //描画指示
	Invalidate();        //再描画

}