MFC CFileDialog窗口问题

2025-05-07 09:44:32
推荐回答(2个)
回答1:

这个代码是用MFC的文件对话框打开一个位图文件,但不是它就行了的,它只是初始了一个对象呀,还得用它获取位图文件的信息,然后再把位图显示出来,看看参考的书上有这样的代码,呵呵。下面是个例子:
CFileDialog dlg(TRUE,NULL,NULL,NULL,"位图文件(*.bmp)|*.bmp");
INT Result=dlg.DoModal();
if (Result==IDOK) {
count=0;CanCount=FALSE;
IsRnd=FALSE;Advan=TRUE;
hBitmap=(HBITMAP)::LoadImage(NULL,dlg.GetFileName(),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
BITMAP bm;
::GetObject(hBitmap,sizeof(BITMAP),&bm);
if (bm.bmWidth>=bm.bmHeight) {
hBitmap=(HBITMAP)::LoadImage(NULL,dlg.GetFileName(),IMAGE_BITMAP,350,280,LR_LOADFROMFILE);
Width=350;Height=280;
IsLong=FALSE; }

else if (bm.bmWidth hBitmap=(HBITMAP)::LoadImage(NULL,dlg.GetFileName(),IMAGE_BITMAP,200,310,LR_LOADFROMFILE);
Width=200;Height=280;
IsLong=TRUE;
}
}
else if(Result==IDCANCEL)return;

回答2:

CFileDialog 只是给你一个打开文件的对话框,
至于如何打开文件,那还得你自己编程做相应的操作。