EvgenijDv
@EvgenijDv
C/C++ programmer

Как вывести картинку на форму в MFC приложении?

Добрый день.
Есть MFC проект в VS6. Перейти на более свежую VS нельзя. Необходимо загрузить с файловой системы картинку в png или bmp и отобразить на форме. В VS6 нет класса CImage. Все что смог найти это загрузка bmp из ресурсов программы, а у меня внешний файл. Подскажите каким образом можно сделать эту, казалось бы простую, задачу.
Спасибо.
  • Вопрос задан
  • 3391 просмотр
Решения вопроса 1
gbg
@gbg
Баянист. Тамада. Услуги.
Вот вам готовый костыль на чистом WinApi.

в процессе, Евгений нашел более короткое решение:
OnInitDialog() 
{
  CDialog::OnInitDialog();
  HBITMAP hBitMap = (HBITMAP)::LoadImage(0, FileName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
  CStatic*  m_picture = (CStatic *)GetDlgItem(IDC_QRIMAGE);
  m_picture->ModifyStyle(0xF, SS_BITMAP, SWP_NOSIZE);
  m_picture->SetBitmap(hBitMap);
}

Сочувствую. Использовать VC шестой версии и MFC нынче - подвиг.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
EvgenijDv
@EvgenijDv Автор вопроса
C/C++ programmer
Армянское Радио Сегодня на свежую голову нашел достаточно короткое и рабочее решение
OnInitDialog() 
{
	CDialog::OnInitDialog();
	HBITMAP hBitMap = (HBITMAP)::LoadImage(0, FileName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
	CStatic*  m_picture = (CStatic *)GetDlgItem(IDC_QRIMAGE);
	m_picture->ModifyStyle(0xF, SS_BITMAP, SWP_NOSIZE);
	m_picture->SetBitmap(hBitMap);
}


Предлагаю вам отредактировать свой ответ, добавив в него этот снипет, а я отмечу его как решение
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы