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

purpleendurer 原创

2005.11.12 第1

开始用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用起来还不太习惯……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值