对话框加菜单问题??+放大缩小图片问题???
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后才出现新图像,这在哪边又出问题了??
解决了马上散分!!!