对话框加菜单问题??+放大缩小图片问题???

xyz666 xyz666 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1.我在对话框资源里添加一个菜单,为什么运行结果显示不菜单来???

2.我在文档文本里添加一个ZOOM菜单项,添加两个子菜单50% IDM_ZOOM1,200% IDM_ZOOM2然后添加消息响应函数,
主要的目的是让图片放大200%,缩小50%:
void CImageView::OnZoom1()
{
// TODO: Add your command handler code here
CPaintDC dc(this);
dc.HIMETRICtoDP(&sz); // convert to pixels
sz.cx /= 2;
sz.cy /= 2;
dc.DPtoHIMETRIC(&sz);
Invalidate(TRUE);
}
void CImageView::OnDraw(CDC* pDC)
{
CImageDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CWnd *m_pMainWnd;
m_pMainWnd = AfxGetMainWnd();
m_pMainWnd->SetWindowText("显示图像");
if(bOpen)
{
pDC->BitBlt(0,0,
sz.cx,sz.cy,
&dcMemory,0,0,SRCCOPY);
}
}
void CImageView::OnFileOpen()
{
// TODO: Add your command handler code here
bOpen = FALSE;
filename = "";
CFileDialog file(TRUE, "(*.bmp)|*.bmp","*.bmp" ,OFN_EXPLORER ,"λͼÎļþ(*.bmp)");
if(file.DoModal() ==IDOK )
{
filename = file.GetPathName();
CBitmap bitmap;
HBITMAP hbitmap = (HBITMAP) LoadImage(NULL,
filename,
IMAGE_BITMAP,
0,0,
LR_LOADFROMFILE);
bitmap.Attach(hbitmap);
BITMAP bmInfo;
bitmap.GetObject(sizeof(bmInfo),&bmInfo);
dcMemory.CreateCompatibleDC(NULL);
dcMemory.SelectObject(&bitmap);
sz.cx = bmInfo.bmWidth;
sz.cy = bmInfo.bmHeight;
bOpen = TRUE;
}
Invalidate(TRUE);
}
结果图像缩小50%时就显示半张图像,请问错在哪?望各位指点指点。
3.还有我在打开一个图像,再打开文件对话框选择另一张图像后,会弹出两次错误对话框,点击Ignore后才出现新图像,这在哪边又出问题了??

解决了马上散分!!!
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
xyz666
VC/MFC 16,550 成员 421,606 内容