フォーム表示する
//---------------------------
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(); //再描画
}