MFC添加使用picture control控件添加Bitmap图片
需要在已有的绘图程序下绘制好的平面图中添加一个显示图片的功能,如点击教学楼5,弹出有该楼图片的对话框。问题:程序开始运行后打开平面图,如何建立该平面图与弹出图片对话框的联...
需要在已有的绘图程序下绘制好的平面图中添加一个显示图片的功能,如点击教学楼5,弹出有该楼图片的对话框。
问题:程序开始运行后打开平面图,如何建立该平面图与弹出图片对话框的联系?给出思路即可。 展开
问题:程序开始运行后打开平面图,如何建立该平面图与弹出图片对话框的联系?给出思路即可。 展开
2个回答
展开全部
1.事先准备好位图。一定要位图。位图。
2.在对话框中添加picture控件,设置type为bitmap,将其ID改为IDC_STATIC1(不改不行)。然后为picture添加控制变量PT1。
3.在.cpp中找到onpaint()函数加入如下代码。
CDC dcMemory1;
CBitmap wtj_bitmap1;
BITMAP bmInfo1;
CDC *pDC=PT1.GetDC();;
PT2.SetWindowPos(0,-400,112,53,20, SWP_NOZORDER | SWP_NOACTIVATE);
GetDlgItem(IDC_STATIC1)->GetWindowRect(rect);//创建一个CRect对象rect,矩形结构类,此对象用来指定要拉伸变为的大小
wtj_bitmap1.LoadBitmap(IDB_BITMAP15);
wtj_bitmap1.GetObject(sizeof(bmInfo1),&bmInfo1);
dcMemory1.CreateCompatibleDC(pDC);
dcMemory1.SelectObject(&wtj_bitmap1);
//pDC->SetStretchBltMode(COLORONCOLOR);
pDC->SetStretchBltMode(HALFTONE);
pDC->StretchBlt(0,0,1000,rect.Height()-13,&dcMemory1,0,0,bmInfo1.bmWidth,bmInfo1.bmHeight, SRCCOPY);//利用StretchBlt()贴图实现自动拉伸
ReleaseDC(pDC);
4.setwindowspos函数和stretchblt函数参数百度就可以查到了。
2.在对话框中添加picture控件,设置type为bitmap,将其ID改为IDC_STATIC1(不改不行)。然后为picture添加控制变量PT1。
3.在.cpp中找到onpaint()函数加入如下代码。
CDC dcMemory1;
CBitmap wtj_bitmap1;
BITMAP bmInfo1;
CDC *pDC=PT1.GetDC();;
PT2.SetWindowPos(0,-400,112,53,20, SWP_NOZORDER | SWP_NOACTIVATE);
GetDlgItem(IDC_STATIC1)->GetWindowRect(rect);//创建一个CRect对象rect,矩形结构类,此对象用来指定要拉伸变为的大小
wtj_bitmap1.LoadBitmap(IDB_BITMAP15);
wtj_bitmap1.GetObject(sizeof(bmInfo1),&bmInfo1);
dcMemory1.CreateCompatibleDC(pDC);
dcMemory1.SelectObject(&wtj_bitmap1);
//pDC->SetStretchBltMode(COLORONCOLOR);
pDC->SetStretchBltMode(HALFTONE);
pDC->StretchBlt(0,0,1000,rect.Height()-13,&dcMemory1,0,0,bmInfo1.bmWidth,bmInfo1.bmHeight, SRCCOPY);//利用StretchBlt()贴图实现自动拉伸
ReleaseDC(pDC);
4.setwindowspos函数和stretchblt函数参数百度就可以查到了。
2019-01-08
展开全部
直接CImage在需要绘图的地方Draw啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询