Проблема с отображением рисунка

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

Есть класс производный от CStatic - в него происходит загрузка изображения через метод OnPaint
Рисунок загружается с помощью GDI+
Рисунок не отображается.

Код: Выделить всё

void ImageLoadPic::OnPaint()
{
	CPaintDC dc(this);
	LoadAboutImage(&dc);
	CStatic::OnPaint();
}

void ImageLoadPic::LoadAboutImage(CDC* pdc)
{
	CString file=theApp.AppPath;
	CRect rc;
	GetClientRect(&rc);
	CDC cdcMemory;
	cdcMemory.CreateCompatibleDC(pdc);
        cdcMemory.BitBlt(0, 0, rc.Width(), rc.Height(), pdc, 0, 0, SRCCOPY);
	file+=_T("\\Data\\Images\\");
	file+=_T("MainIcon.png");
	Gdiplus::Image* m_pImage = ::new Gdiplus::Image(file.AllocSysString());
	Gdiplus::Graphics graphics(cdcMemory.m_hDC);
	Gdiplus::Rect rcg(rc.left, rc.top, rc.right, rc.bottom);
	graphics.DrawImage(m_pImage, rcg);

	pdc->BitBlt(0, 0, rc.Width(), rc.Height(), &cdcMemory, 0, 0, SRCCOPY);
}


Пытался загрузить рисунок формата GIF через IPicture - та же проблема.
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

Проблема решена - забыл добавить код

Код: Выделить всё

	VERIFY(cBmpMemory.CreateCompatibleBitmap(pdc, rc.Width(), rc.Height()));
	pOldMemBmp = cdcMemory.SelectObject(&cBmpMemory);
тема закрыта
Ответить