[BMP]ビットマップ表示2 | Assertion Failed!

[BMP]ビットマップ表示2

ピクチャコントロールを使用したビットマップ表示


[作成環境]

・Visual Studi 2008 Standart Edition

・MFC-ダイアログベース



Assertion Failed!

表示される結果は前回 と一緒。


①ダイアログエディタで、「Picture Control」をはりつけ、「Type」を「ビットマップ」にする。

②ID名を「IDC_STATIC」から任意のIDに変更する。例)ID_PICT


貼り付けたピクチャコントロールにコントロール変数を追加する。


public:

  CStatic m_pict;


OnPaint() 関数を以下のように変更。


void CSampleDlg::OnPaint()
{
  if (IsIconic())
  {
    ・・・中略
  }
  else
  {
    CDialog::OnPaint();

    

    // ビットマップを読み込み、ハンドルを取得

    HBITMAP hbmp = (HBITMAP)LoadImage(0,

                               _T("C:\\sample.bmp"),

                               IMAGE_BITMAP,

                               0,

                               0,

                               LR_LOADFROMFILE);


    // 取得したハンドルからビットマップオブジェクトを作成

    CBitmap *bmp = bmp->FromHandle(hbmp);


    // ピクチャコントロールにビットマップオブジェクトを割り当てる

    m_pict.SetBitmap(*bmp);

  }
}


こっちのやり方の方が簡単だけど、使い分け方はよくわかんね。

多分、ピクチャコントロールでは画像の回転とか色の反転が

できないのではないかとおもふ。