Проблемы с просмотром изображений MFC SDI.
Привет,
Я использую шаблон ленты MFC для создания приложения SDI.
Я добавляю новый класс(Cchildview), который наследуется от CWnd к mainframe.cpp.
в моем мэйнфрейме.
Здесь выполняется m_wndView
// create a view to occupy the client area of the frame if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL)) { TRACE0("Failed to create view window\n"); return -1; }
в моем childview.cpp, он загрузит img и отобразится в функции onpaint, как показано ниже.
void CChildView::OnPaint() { CString szFilename("baseimg.bmp"); HBITMAP hBmp = (HBITMAP)::LoadImage(NULL, szFilename, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); CBitmap bmp; bmp.Attach(hBmp); CClientDC dc(this); CDC bmDC; bmDC.CreateCompatibleDC(&dc); CBitmap *pOldbmp = bmDC.SelectObject(&bmp); BITMAP bi; bmp.GetBitmap(&bi); dc.BitBlt(0, 0, bi.bmWidth, bi.bmHeight, &bmDC, 0, 0, SRCCOPY); bmDC.SelectObject(pOldbmp); }
Мое изображение может отображаться на экране. Но когда я настраиваю разделитель границы, мое изображение исчезает, и если я снова перестраиваюсь, оно может отображаться, а затем, если я снова настраиваюсь, оно снова будет отображаться @@.
Есть идеи, почему это произойдет?
Что я уже пробовал:
используйте другой метод для загрузки изображения. результат все тот же.