vcpicture控件动态载入图片方法.doc

vcpicture控件动态载入图片方法.doc

ID:59252185

大小:23.00 KB

页数:3页

时间:2020-09-08

vcpicture控件动态载入图片方法.doc_第1页
vcpicture控件动态载入图片方法.doc_第2页
vcpicture控件动态载入图片方法.doc_第3页
资源描述:

《vcpicture控件动态载入图片方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Vc的picture控件动态载入图片方法(注意:以基于对话框的程序描述的)Chensq1.首先在CTestDlg类中声明一个变量:   CBitmap  m_bmp;2.然后我们在对话框中加入一个picture标签,名为IDC_STATIC13.编写函数LoadBmpFile()boolCMyDlg::LoadBmpFile(){if(m_bmp.m_hObject!=NULL)//判断m_bmp.DeleteObject();//载入图片HBITMAPhbmp=(HBITMAP)::LoadImage(

2、AfxGetInstanceHandle(),"tmp.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION

3、LR_LOADFROMFILE);if(hbmp==NULL)returnFALSE;//该段程序用来取得加载的BMP的信息m_bmp.Attach(hbmp);DIBSECTIONds;BITMAPINFOHEADER&bminfo=ds.dsBmih;m_bmp.GetObject(sizeof(ds),&ds);intcx=bminfo.biWidth;//得到

4、图像宽度intcy=bminfo.biHeight;//得到图像高度//得到了图像的宽度和高度后,我们就可以对图像大小进行适应,//即调整控件的大小,让它正好显示一张图片.CRectrect;GetDlgItem(IDC_STATIC1)->GetWindowRect(&rect);ScreenToClient(&rect);GetDlgItem(IDC_STATIC1)->MoveWindow(rect.left,rect.top,cx,cy,true);//调整大小returnTRUE;}2.重写On

5、Paint()函数voidCMyDlg::OnPaint(){/*if(IsIconic()){CPaintDCdc(this);//devicecontextforpaintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);//CentericoninclientrectangleintcxIcon=GetSystemMetrics(SM_CXICON);intcyIcon=GetSystemMetrics(SM_CYICON);CR

6、ectrect;GetClientRect(&rect);intx=(rect.Width()-cxIcon+1)/2;inty=(rect.Height()-cyIcon+1)/2;//Drawtheicondc.DrawIcon(x,y,m_hIcon);}else{CDialog::OnPaint();}*///重写了OnPaint()函数/////////////////////////////////////////////////////////////////////////////////

7、///以下三种情况任选一种会是不同效果(只能一种存在)////1.//CPaintDCdc(this);//若用此句,得到的是对话框的DC,图片将被绘制在对话框上.//2.CPaintDCdc(GetDlgItem(IDC_STATIC1));//用此句,得到picture控件的DC,图像将被绘制在控件上//3.//CDCdc;//dc.m_hDC=::GetDC(NULL);//若用此两句,得到的是屏幕的DC,图片将被绘制在屏幕上.////////////////////////////////////

8、/////////////////////////////////////////////CRectrcclient;GetDlgItem(IDC_STATIC1)->GetClientRect(&rcclient);CDCmemdc;memdc.CreateCompatibleDC(&dc);CBitmapbitmap;bitmap.CreateCompatibleBitmap(&dc,rcclient.Width(),rcclient.Height());memdc.SelectObject(&bit

9、map);CWnd::DefWindowProc(WM_PAINT,(WPARAM)memdc.m_hDC,0);CDCmaskdc;maskdc.CreateCompatibleDC(&dc);CBitmapmaskbitmap;maskbitmap.CreateBitmap(rcclient.Width(),rcclient.Height(),1,1,NULL);maskdc.SelectObject(&maskbitma

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。