哪位高手能帮小弟我看看,这样加载CImage,错在哪里了

谁能帮我看看,这样加载CImage,错在哪里了?
C/C++ code



BOOL MyDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

……省略……

     CStatic* ccs2=new CStatic();
     ccs2->Create(_T("ab"), WS_CHILD|BS_DEFPUSHBUTTON|WS_VISIBLE, CRect(0, 310, 300, 450), this, 121);
     HWND hwnd = ccs2->GetSafeHwnd();
     HDC hdc = ::GetDC(hwnd);
     CImage* ci2=new CImage();
     HRESULT hr = ci2->Load(_T("res/abc.jpg"));
     if (SUCCEEDED(hr))
     {
         ci2->Draw(hdc,0,0,100,100);
     }


}




------解决方案--------------------
从CStatic派生一个新类,
WM_ERASEBKGND返回TURE 
WM_PAINT中添加你的代码 并用双缓冲
------解决方案--------------------
OnInit里面不可以画图(窗口没有构造好,也就没有地方画)
放到OnPaint()里面,闪烁的话用双缓冲(这个比较麻烦,CImage没有教程)
百度——CMemDc
这个类很好用直接构造
CMemDC memdc(this->GetDC(),rect);//rect为当前窗口大小this-〉GetDC()为当前窗口DC
然后你CImage的图片就画在memdc里面
CImage img;
img.Load(某图片);
img.Draw(memdc.GetSafeHdc(),0,0,img.GetWidth(),img.GetHeight());
或者用bitblt也可以