void CmyseeDoc::OnFileOpen()
{
LPCTSTR lpszFilter="BMP Files(*.bmp)|*.bmp|任何文件|*.*||";
CfileDialog dlg1(TRUE,lpszFilter,NULL,OPN_HIDEREADONLY|
OFN_OVERWRITEPROMPT,lpszFilter,NULL);
CString filename;
CFile file;
if(dlg1.DoModal()==IDOK)
{
filename=dlg1.GetPathName();
if(file.Open(filename,CFile::modeRead|CFile::shareDenyNone,NULL)==0)
{
AfxMessageBox("无法打开文件",MB_OK,0);
return;
}
if(file.GetLength()!=bf.bfSize)
{
AfxMessageBox("文件已损坏,请检查",MB_OK,0);
return;
}
file.Read(&bi,sizeof(bi));
numQuad=0;
if(bi.biBitCount<24)
{
numQuad=1<<bi.biBitCount;
}
pbi=(BITMAPINFO*)HeapAlloc(GetProcessHeap(),0,sizeof(BITMAPINFOHEADER)
+numQuad*sizeof(RGBQUAD));
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载