class CMyFileDialog: public CFileDialogImpl<CMyFileDialog>
{
public:
CMyFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
HWND hWndParent = NULL)
: CFileDialogImpl<CMyFileDialog>(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, hWndParent){ } // Maps
BEGIN_MSG_MAP(CMyFileDialog)
CHAIN_MSG_MAP(CFileDialogImpl<CMyFileDialog>)
END_MSG_MAP() //重载此函数;实现居中
void OnInitDone ( LPOFNOTIFY lpon )
{
GetFileDialogWindow().CenterWindow(lpon->lpOFN->hwndOwner);
} };

重写FileDialog,重载OnInitDone,实现居中,引用代码如下:

void xxx::SelectUpgradeFile()
{
char szFilters[] = _T("升级文件 (*.ram)\0*.ram\0全部文件(*.*)\0*.*\0\0");
CMyFileDialog fileDlg(TRUE,NULL, NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,szFilters );//szFilters char strBuffer[MAX_PATH] = {};
fileDlg.m_ofn.lpstrFile = strBuffer;
fileDlg.m_ofn.nMaxFile = MAX_PATH;
if (fileDlg.DoModal() != IDOK)
{
ImmsMessageBox(m_PaintManager.GetPaintWindow(),_T("升级设备失败!"),_T("提示"),MB_OK);
return ;
}
m_strEquipmentUpgradeFileName = fileDlg.m_ofn.lpstrFile;
if (m_strEquipmentUpgradeFileName.Right().CompareNoCase(".ram")!=)
{
ImmsMessageBox(m_PaintManager.GetPaintWindow(),_T("选择的文件不是编解码器升级文件!"),_T("提示"),MB_OK|MB_ICONERROR);
return ;
} CEditUI *pFileName = static_cast<CEditUI *>(m_PaintManager.FindControl(ctrl_device_data_manager_decoder_equi_upgrade_select_file));
if(!pFileName)
return;
pFileName->SetText(m_strEquipmentUpgradeFileName); }

Windows系统自带选择文件的对话重写和居中处理的更多相关文章

  1. 本文介绍使用windows系统自带的远程桌面mstsc连接Centos 7.x远程桌面的基本方法。

    本文介绍使用windows系统自带的远程桌面mstsc连接Centos 7.x远程桌面的基本方法. 一.前言 我希望用windows远程访问centos图形界面.xmanager连接centos远程桌 ...

  2. 以太网客户端提示windows系统自带共享代理解决方法

    以太网客户端(Dr.COM)登陆出现windows系统自带共享代理,如下图: 系统win+R调出运行: 在服务中,找到Internet Connection Sharing (ICS): 右键属性,将 ...

  3. 如何在windows系统自带命令查看硬件信息?

    如何在windows系统自带命令查看硬件信息? 对于在windows下查看系统信息大家一定不陌生了,我现在说几个最常用的方法,对命令感兴趣的朋友看看,(给菜鸟看的,老手就不要笑话我了,大家都是从那个时 ...

  4. 服务器运维 -- windows系统更换System32下文件后 重启无法进入桌面

    场景描述: windows系统更换System32下文件后 重启无法进入桌面 情况1,原替换文件有备份     解决建议: 准备好该文件 情况2,原备份文件没有备份  解决建议:从相同版本的服务器上边 ...

  5. windows API实现用户选择文件路径的对话框

    在编写应用程序时,有时需要用户选择某个文件,以供应用程序使用,比如在某些管理程序中需要打开某一个进程,这个时候需要弹出一个对话框来将文件路径以树形图的形式表示出来,以图形化的方式供用户选择文件路径,而 ...

  6. Windows系统自带的DOS窗口

    写在前面: 整理自网络 记录学习过程,方便复习 说明 DOS全称为Disk Operating System,意思是"磁盘操作系统" DOS是个人计算机上的一类操作系统,windo ...

  7. Windows系统自带工具的 cmd 命令

    目标 与计算机高手无关,只是为了减少鼠标点击的次数,提高效率. 适用范围 Windows XP,Windows 7,Window 8 (在Windows 7 下验证通过.) 使用方法 在 “运行“ 对 ...

  8. Windows 系统里面的 hosts 文件

    一.什么是hosts文件? hosts文件是一个用于储存计算机网络中各节点信息的计算机文件.这个文件负责将主机名映射到相应的IP地址.hosts文件通常用于补充或取代网络中DNS的功能.和DNS不同的 ...

  9. perfmon——使用windows系统自带的性能监视器监控进程信息

    第一次使用perfmon监控应用进程的信息,步骤总结如下: 第一部分 性能监视器 1.快捷键Win+R打开运行界面,输入“perfmon”命令后回车即可打开windows的性能监视器 2.点击“性能监 ...

随机推荐

  1. BOM--window对象

    BOM 的核心对象是window,它表示浏览器的一个实例.在浏览器中,window 对象有双重角色,它既是通过JavaScript 访问浏览器窗口的一个接口,又是ECMAScript 规定的Globa ...

  2. php+ajax实现无刷新动态加载数据技术

    我们浏览有些网页的时候,当拉动浏览器的滚动条时到页底时,页面会继续自动加载更多内容供用户浏览.这种技术我暂且称它为滚屏加载技术.我们发现很多网站用到这种技术,必应图片搜索.新浪微博.QQ空间等将该技术 ...

  3. 079、Java数组之数组的静态初始化

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  4. vue ref父子组件传值

    一. ref使用在父组件上 父组件html: <information ref='information'></information> import information ...

  5. CRM:异步加载下拉列表,三个列表出现同样的下拉框

    异步加载下拉列表,三个列表出现同样的下拉框,原因如下: Spring默认单例,如果Action是单例,那么上一次查询的结果就可能被下一次的查询所调用.所以必须配置action为多例, 如果采用单例模式 ...

  6. 攻防世界--web新手练习区(1)

      1. 题目描述:X老师想让小明同学查看一个网页的源代码,但小明却发现鼠标右键不管用了.  http://111.198.29.45:53629 通过阅读题目描述分析,我们需要查看源码,但是鼠标右键 ...

  7. docker-lnmp 多容器部署 Laravel 方案分享(转)

    docker lnmp 多容器部署方案.完全基于 docker 官方镜像,遵循最佳实践,一容器一进程. github 项目地址 https://github.com/March7/docker-lnm ...

  8. iOS中html打开APP传参

    1.在项目info.plist中添加URL Types以供html调用 2.html代码 <html> <head lang="en"> <meta ...

  9. mysql 命令行导入导出.sql文件

    window下 1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql 2 ...

  10. 19 包含min函数的栈

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数.   思路:一个栈存普通元素,一个最小栈存放目前位置最小的元素,只在压入的时候判断是否为空以及最小元素,其他情况正常处理 ...