[BMP]ビットマップ表示2
ピクチャコントロールを使用したビットマップ表示
[作成環境]
・Visual Studi 2008 Standart Edition
・MFC-ダイアログベース
表示される結果は前回 と一緒。
①ダイアログエディタで、「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);
}
}
こっちのやり方の方が簡単だけど、使い分け方はよくわかんね。
多分、ピクチャコントロールでは画像の回転とか色の反転が
できないのではないかとおもふ。