C++MFC之picture control控件铺满图片

本文详细介绍了如何在C++中使用MFC框架加载并显示图片。通过UpdateData函数更新路径公共变量,获取图片路径,并利用CImage类加载图片。然后,通过GetWindowDC()获取设备上下文,使用Draw方法将图片绘制到指定的Picture Control控件上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UpdateData(true); //更新路径公共变量
    CString m_path = m_edit1.GetString(); 
    if(m_path=="")        
    {
        MessageBox("111111","111",0);
        return;
    }
    CRect rect;
    m_pictureStatic.GetClientRect(&rect);     //m_picture为Picture Control控件变量,获得控件的区域对象
    ATL::CImage image;       //使用图片类
    image.Load(m_path); 
    CDC* pDC = m_pictureStatic.GetWindowDC();    //获得显示控件的DC
    //***************显示全部,但会失真
    CRect rc;
    CWnd *pWnd = GetDlgItem(IDC_PICTURE_STATIC);//参数为控件ID
    pWnd->GetClientRect(&rc);//rc为控件的大小。
    image.Draw( pDC -> m_hDC,rc); 
    //********显示一部分
    //long width = image.GetWidth();
    //long height = image.GetHeight();
    //image.Draw( pDC -> m_hDC,5,5,width,height);      
    ReleaseDC(pDC);

转载于:https://www.cnblogs.com/Pond-ZZC/p/10376394.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值