【MFC】动态加载Picture Control控件中的图片
前言
在MFC窗体中,我们经常需要根据不同的需求来动态显示Pictrue Control上的图片。以下提供若干种方法来实现动态加载图片的目的。
方法1:CBrush
通过画刷方式,将图片刷在界面上,该方法效率较高,只要确保能够及时释放内存,不易造成内存泄漏的风险。
在主线程CTestDlg创建SetBmp()函数来设置图片。
void CTestDlg::SetBmp()
{
CStatic m_pic; //Picture Control控件
CDC *pDC;
CBitmap bmp;
CBrush brush;
CRect rect;
pDC = m_pic.GetDC();
m_pic.GetClientRect(&rect);
bmp.LoadBitmap(IDB_BITMAP_1); //IDB_BITMAP_1通过资源管理器加载好的图片
brush.CreatePatternBrush(&bmp); //创建位图画刷
pDC->FillRect(rect, &brush); //用背景画填充区域
bmp.DeleteObject();
ReleaseDC(pDC); //释放资源
}
注意
通过画刷加载的图片,并不是

本文介绍在MFC中使用三种方法动态加载PictureControl控件中的图片:利用CBrush画刷,SetBitmap函数,及重写MyPictureControl类。探讨各种方法的优缺点,如效率、内存管理和适应性。
最低0.47元/天 解锁文章
374

被折叠的 条评论
为什么被折叠?



