MFCというのは、今でも計算速度や、リソースの使用については、マイクロソフトの他の開発環境よりも優れています。しかし、設計がいまいちなので、プログラマーにとっては、分かりにくい部分も多いです。以下は、MFCのPicture Controlに画像を表示させる例です。ちょっとした小技ではありますが、知らないと、実に戸惑ってしまいます。
CBitmap bmp; // 画像
BOOL bRet;
// 画像をピクチャーコントロールに設定
bRet = bmp.Attach((HBITMAP)::LoadImage(AfxGetInstanceHandle(), "c:\\temp\\t.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE) );
if (bRet == TRUE)
{
CStatic* pictbox = (CStatic*)GetDlgItem(IDC_STATIC_PICTURE);
pictbox->SetBitmap(bmp);
}
IDC_STATIC_PICTUREはPicture ControlのIDです。
但し、Picture Controlの「Type」を「ビットマップ」に設定しないと、何にも出で来ないです!実にひどい設計ですね。正確に言うと、分かりにくいです。めちゃくちゃ。
No comments:
Post a Comment