使用GDI+的MFC应用程序的文件打开和保存对话框
2007-03-17 21:58:43 来源:WEB开发网核心提示: 覆写CGdiplusFileDialog::FillCodecInfoArray并调用Gdiplus::GetImageDecoders填充关于可用译码器的信息数组,o 文件格式的名称(如:"JPEG")o 已用扩展名(如:"*.JPG、*.JPEG、*.JP
覆写CGdiplusFileDialog::FillCodecInfoArray并调用Gdiplus::GetImageDecoders填充关于可用译码器的信息数组。
o 文件格式的名称(如:"JPEG")
o 已用扩展名(如:"*.JPG、*.JPEG、*.JPE、*.JFIF")
o 在打开对话框(译注:原文为Save As dialog,应该是Open dialog,笔误了)中使用的缺省扩展名(如:"JPG")
o 解码器标识码
覆写CGdiplusFileDialog::ConstructMFCStyleFilter构建一个"MFC 样式"的过滤器(使用一个''|''作为分隔符);一个附加的"All GDI+ supported"(所有GDI+支持)的过滤项被添入
举例
#include "GdiplusFileOpenDialog.h"
// ...
bool CFoo::LoadImage(Image*& pImage)
{
bool bLoaded = false;
CGdiplusFileOpenDialog dlgFile;
if(IDOK == dlgFile.DoModal())
{
CString strPathName = dlgFile.GetPathName();
pImage = Image::FromFile(strPathName.AllocSysString());
Status status = pImage->GetLastStatus();
if(Ok == status)
{
bLoaded = true;
}
}
return bLoaded;
}
CGdiplusFileSaveAsDialog类
CGdiplusFileSaveAsDialog实现文件保存的通用型对话框。
覆写CGdiplusFileDialog::FillCodecInfoArray并调用Gdiplus::GetImageEncoders来填充关于可用编码器的信息数组。
更多精彩
赞助商链接