Благодарна всем за помощь
Я нашла класс CPicture в codeproject.com. Всё работает.
Чтобы менять картинки на диалоге при нажатии кнопки, я сделала следующее:
1. Добавляем объект CRect, чтобы задавать размеры картинки, и объект CPicture.
#include "Picture.h"
/////////////////////////////////////////////////////////////////////////////
// CMyDlg dialog
class CMyDlg : public CDialog
{
// Construction
public:
CMyDlg(CWnd* pParent = NULL); // standard constructor
CPicture m_Picture;
CRect m_rectPicSize;
......
2. Дальше переписуем OnPaint.
void CMyDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CDialog::OnPaint();
m_Picture.Show(&dc, m_rectPicSize); // show picture
}
3. Дальше пишем функцию кнопки. Например, OnOK. Задаем верхнию левую позицию и желаемые размеры картинки: или постоянные, или относительно оригинальных размеров.
void CMyDlg::OnOK()
{
m_Picture.Load("image.jpg"); // or full picture path
m_rectPicSize.left = 30;
m_rectPicSize.top = 30;
m_rectPicSize.right = m_Picture.m_Width / 2; // diminish original Width
m_rectPicSize.bottom = m_Picture.m_Height / 2; // diminish original Height
CWnd::RedrawWindow();
}
4. Можно убрать картинку. Например, при нажатии другой кнопки.
void CMyDlg::OnButton2()
{
m_Picture.FreePictureData();
CWnd::RedrawWindow();
}