用VC 6.0写flash播放器——1、在VC 6.0中调用打开文件对话框

王朝vc·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

开始用VC 6.0写一个Flash播放器,第一步是调用打开文件对话框选择要播放的Flash文件。

这是偶第一次用VC 6.0写东东。以前偶都是用MASM32写程序,直接通过API调用打开文件对话框。

在VC 6.0应该也能这样做,不过想想MFC应该是把打开文件对话框卦装了,既然用VC的MFC,就体会一下MFC罢。

在Windows系统中提供了一些通用对话框如:文件选择对话框,颜色选择对话框如图,字体选择对话框如图。在MFC中使用CFileDialog,CColorDialog,CFontDialog来表示。

调用打开文件对话框的代码如下:

CFileDialog dlgFileOpen(TRUE);

//检测目前的操作系统,GetVersion具体用法详见MSDN

DWORD dwVersion = GetVersion();

DWORD dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));

DWORD dwWindowsMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));

int structsize = 88;//假设运行的操作系统是Windows NT/2000,显示新的文件对话框

if (dwVersion >= 0x80000000)

{

structsize = 76;//运行的操作系统Windows 95/98,显示老的文件对话框

}

dlgFileOpen.m_ofn.lStructSize = structsize;

TCHAR lpstrFilename[MAX_PATH] = "";

/*

指明可供选择的文件类型和相应的扩展名。

文件类型说明和扩展名间用 \0 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用\0分隔。

*/

TCHAR lpstrFileFiler[] = "Flash Files (*.swf)\0*.swf\0All Files (*.*)\0*.*\0";

//设置m_ofn

dlgFileOpen.m_ofn.lpstrFile = lpstrFilename;

dlgFileOpen.m_ofn.lpstrFilter = lpstrFileFiler;

//对Flags成员要用 |= ;如果用=则运行时会造成Debug Assertion Failed!

dlgFileOpen.m_ofn.Flags |= OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST;

if(IDOK==dlgFileOpen.DoModal())

{

MessageBox("你所打开的文件是:" + (CString)dlgFileOpen.m_ofn.lpstrFile);

}

else

{

MessageBox("打开文件出错!");

}

MFC封装后的API用起来还不太习惯……

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航