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

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

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

相关文章
|
12月前
|
机器学习/深度学习 人工智能 分布式计算
使用PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建文旅领域知识问答机器人
本次教程介绍了如何使用 PAI ×LLaMA Factory 框架,基于全参方法微调 Qwen2-VL 模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
使用PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建文旅领域知识问答机器人
|
10月前
|
Dart UED 开发者
Flutter&鸿蒙next中的按钮封装:自定义样式与交互
在Flutter应用开发中,按钮是用户界面的重要组成部分。Flutter提供了多种内置按钮组件,但有时这些样式无法满足特定设计需求。因此,封装一个自定义按钮组件变得尤为重要。自定义按钮组件可以确保应用中所有按钮的一致性、可维护性和可扩展性,同时提供更高的灵活性,支持自定义颜色、形状和点击事件。本文介绍了如何创建一个名为CustomButton的自定义按钮组件,并详细说明了其样式、形状、颜色和点击事件的处理方法。
214 1
|
小程序 数据库
【微信小程序7】云数据库:利用Field获取指定字段的值。
【微信小程序7】云数据库:利用Field获取指定字段的值。
516 2
|
12月前
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
12月前
|
SQL 关系型数据库 分布式数据库
用Ganos低代码实现免切片遥感影像浏览
本文介绍了一种基于PolarDB兼容PostgreSQL 14的高效栅格数据管理和可视化方案。推荐配置包括4核CPU、16GB内存、50GB磁盘等。通过创建扩展并上传影像至OSS,利用SQL语句完成数据导入、镶嵌、匀色及金字塔构建。重点介绍了使用ST_AsTile函数动态生成标准瓦片的方法,支持多种格式和增强方式。前端通过Python实现服务接口,实现实时、高效的数据展示。此方案具有实时性强、存储成本低等优点,适合快速可视化大量栅格数据。
145 0
|
12月前
|
编解码 算法 数据安全/隐私保护
CTF图像隐写——“双图”和“图像和像素值转换”
CTF图像隐写——“双图”和“图像和像素值转换”
232 0
|
12月前
|
PHP
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
本文详解了在ThinkPHP框架中配置多应用的方法,包括安装扩展、删除默认controller文件夹、创建多应用、修改配置文件以启用多应用、测试访问以及如何配置不同域名访问不同应用的步骤。
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
|
12月前
|
人工智能 弹性计算 Serverless
体验《触手可及,函数计算玩转 AI 大模型》解决方案
体验《触手可及,函数计算玩转 AI 大模型》解决方案
110 1
|
12月前
偶用masm32DIY的“好色之徒”
偶用masm32DIY的“好色之徒”
|
监控 前端开发 Java
JIT优化之道
《JIT优化之道》是去年在公司的一次分享,对于公司组织分享我是赞同又不赞同,怎么讲呢? 技术分享当然是好的,这是一个双赢,分享者教学相长,而收听者也能更快的了解进步。 但以前在原先的公司也做过些类事情,但没有想象的好,大家对分享主题的探索也只限于在分享时间段内,过后很少有人,几乎没人去做进一步的探索。填鸭式的学习效果甚微。后来只涉及一些项目中使用到的知识点,让项目中人去发现项目中的一些亮点,盲区 聪明人从旁人的错误中吸取教训,愚笨人则从自身的错误中吸取教训,有多少聪明人呢?不经历风雨又怎么见彩虹?
386 0
JIT优化之道