在vs2008用c语言,如何在窗体里插入图片。

在vs2008用c语言,如何在窗体里插入图片。,第1张

第一步:

选好.bmp的类型的图片。在资源视图中导入。随便复制到.res文件夹下。

第二步。在对话框上添加picture控件,调整到大小。右击属性选择Type选择Bitmap.

Image下拉组合框选择你导入的图片。运行时即可显示图片。

如果要设置和窗体一样的大小SetWindowPos就可以了。查查这个函数的作用

方法一:

1、声明成员变量CBrush m_brush

2、在InitDialog中添加代码:

CBitmap bmp

bmp.LoadBitmap(IDB_BITMAP1)//这个IDB_BITMAP1要自己添加

m_brush.CreatePatternBrush(&bmp)

3、重载对话框的OnCtlColor,改最后的返回值:

return (HBRUSH)m_brush

方法二:

把下面这段代码加进OnPaint()里就行了

CPaintDC dc(this)

CBitmap bitmap

bitmap.LoadBitmap(IDB_BITMAP1)//这个IDB_BITMAP1要自己添加

CBrush brush

brush.CreatePatternBrush(&bitmap)

CBrush* pOldBrush =dc.SelectObject(&brush)

dc.Rectangle(0,0,200,200)// 这些参数可以调整图片添加位置和大小

dc.SelectObject(pOldBrush)

方法三:使用StretchBlt()函数,具有图像自适应窗体功能

CPaintDC dc(this)

CBitmap m_bmpBK

m_bmpBK.LoadBitmap(IDB_BITMAP1)

CRect rect

GetClientRect(&rect)//获得目标尺寸,即窗口客户区的坐标

BITMAP bitMap//位图结构体

m_bmpBK.GetBitmap(&bitMap)//获得原图片尺寸

CDC dcMem//目标DC

dcMem.CreateCompatibleDC(&dc)//创建与dc兼容的内存DC

dcMem.SelectObject(&m_bmpBK)//将位图对象m_bmpBK选入内存DC

dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11623875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存