MFC开发之图片控件Picture Control显示图片并随对话框大小伸缩

在基于对话框的工程中,使用图片控件,并平铺整个对话框大小

图片控件申明和静态文本框一样

放在初始化函数OnInitDialog中

CRect rt_this;
GetWindowRect(&rt_this);
CRect rc;
	GetDlgItem(IDC_STATIC10)->GetClientRect(&rc);
	CDC* pdcpic = GetDlgItem(IDC_STATIC10)->GetDC();    

	CBitmap bitmap1;
	bitmap1.LoadBitmap(IDB_BITMAP1);   //IDB_BITMAP1是要加载的位图的ID  
	BITMAP bmp1;
	bitmap1.GetBitmap(&bmp1);
	CDC memdc;
	memdc.CreateCompatibleDC(pdcpic);
	memdc.SelectObject(&bitmap1);

	CDC ppdc;
	ppdc.CreateCompatibleDC(pdcpic);
	CBitmap bmpbuf;                    //bmpbuf是要放入控件中的位图  
	bmpbuf.CreateCompatibleBitmap(pdcpic, rt_desk.Width(), rt_desk.Height());
	ppdc.SelectObject(&bmpbuf);
	ppdc.StretchBlt(0, 0, rt_this.Width()+2, rt_this.Height(), &memdc, 0, 0, rc.Width(), rc.Height(), SRCCOPY);  //将IDB_BITMAP1复制到bmpbuf位图中,并按指定的大小转换  

	m_static10.SetBitmap((HBITMAP)bmpbuf.Detach());
	m_static10.ReleaseDC(pdcpic);
	memdc.DeleteDC();
	ppdc.DeleteDC();

PS:关于图片控件error RC2108: expected numerical dialog constant的解决办法:https://blog.csdn.net/bigtree_mfc/article/details/97110033

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值