MFC设置背景图片之二

版权声明:所有版权归作者她的吻让他,转载请标明出处. https://blog.csdn.net/qq_37059136/article/details/84564981

前言

上面已经说过一种设置背景图片的方法,但那种方法只能显示指定大小的图片,不能契合窗口大小,这里提供第二种方法

添加资源

向MFC添加图片相信没问题了,上一篇主要就是说明如何向MFC资源中添加图片,现在我们的图片已经添加至资源了

添加变量

在窗口类定义里面添加成员变量

public:
    CBitmap m_bmp;      //存放位图对象
    CDC m_dc;           //DC对象

修改窗口初始化函数

在窗口初始化函数OnInitDialog()中添加

    //加载位图
    CBitmap bmp;
    bmp.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP1));
    //添加位图
    m_bmp.Attach(bmp);
    //创建兼容DC
    CDC* pDc = GetDC();
    m_dc.CreateCompatibleDC(pDc);
    //用完之后释放
    ReleaseDC(pDc);
    //把位图对象选入DC中
    m_dc.SelectObject(&m_bmp);
    //使窗口无效,这样OnPaint函数就会被触发,使之被画出来
    Invalidate(FALSE);

修改窗体重绘函数

在窗体重绘函数OnPaint()的if条件语句的else分支内添加

//画图DC
        CPaintDC dc(this);
        CRect rect ;
        GetClientRect(&rect);
        //缩放位图
        BITMAP bm;
        m_bmp.GetBitmap(&bm);
        dc.StretchBlt(0, 0, rect.Width(), rect.Height(),
            &m_dc, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);

效果

猜你喜欢

转载自blog.csdn.net/qq_37059136/article/details/84564981
今日推荐