VC2003或2005编译的代码能否改到VC6.0使用?例如下面的代码,是用VC.NET2003做出来的,能否改成可以在VC6.0运行的代码 ?做一个基于dialog程序用vc.net2003,点击打开按钮把各种格式图片显示在pictureControl中,但是显示出的图片在整个对话框中,怎么样才能让图片不失真缩小显示在pictureControl中?显示图片大小和控件大小一样.代码如下:void CImageToolDlg::OnBnClickedButtonOpenfile()
{CString StrFilter ; CString tempname ;
CString temppathname ;CSimpleArray<GUID> aguidFileTypes;HRESULT hResult;hResult = m_Image.GetExporterFilterString(StrFilter ,aguidFileTypes,_T("All Image Files"));if (FAILED(hResult)) {
MessageBox("GetExporterFilter调用失败!");
return;
}CFileDialog Dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,StrFilter );if (IDOK != Dlg.DoModal()) {
return;
}
m_Image.Destroy();hResult = m_Image.Load(Dlg.GetFileName());
if (FAILED(hResult)) {
MessageBox("调用图像文件失败!");
return;
}
tempname = Dlg.GetFileName();
temppathname = Dlg.GetPathName();int iwidth = m_Image.GetWidth();
int iheight = m_Image.GetHeight();
CString tempiwidth;
CString tempiheight;CDC *pdc =GetDlgItem(IDC_PICTURE_PARENT)->GetDC();
m_Image.Draw(pdc->m_hDC,0,0, 400,400);ReleaseDC(pdc);
}m_Image为cimage类变量.IDC_PICTURE_PARENT为picturecontrol控件ID.pic_image为picturecontrol的变量
{CString StrFilter ; CString tempname ;
CString temppathname ;CSimpleArray<GUID> aguidFileTypes;HRESULT hResult;hResult = m_Image.GetExporterFilterString(StrFilter ,aguidFileTypes,_T("All Image Files"));if (FAILED(hResult)) {
MessageBox("GetExporterFilter调用失败!");
return;
}CFileDialog Dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,StrFilter );if (IDOK != Dlg.DoModal()) {
return;
}
m_Image.Destroy();hResult = m_Image.Load(Dlg.GetFileName());
if (FAILED(hResult)) {
MessageBox("调用图像文件失败!");
return;
}
tempname = Dlg.GetFileName();
temppathname = Dlg.GetPathName();int iwidth = m_Image.GetWidth();
int iheight = m_Image.GetHeight();
CString tempiwidth;
CString tempiheight;CDC *pdc =GetDlgItem(IDC_PICTURE_PARENT)->GetDC();
m_Image.Draw(pdc->m_hDC,0,0, 400,400);ReleaseDC(pdc);
}m_Image为cimage类变量.IDC_PICTURE_PARENT为picturecontrol控件ID.pic_image为picturecontrol的变量
将VC2003工程转换回VC6工程,换言之,就是将.sln/.vcproj这两个文件转换到.dsw/.dsp文件
网上有这样的转换工具