当前位置:  编程技术>c/c++/嵌入式

win32使用openfilename浏览文件窗口示例

    来源: 互联网  发布时间:2014-10-23

    本文导语:  代码如下: 代码如下:OPENFILENAME ofn;WCHAR* szFile = new WCHAR[512];WCHAR* szFileTitle = new WCHAR[512];memset(&ofn, 0, sizeof(ofn));memset(szFile, 0, sizeof(WCHAR)*512);memset(szFileTitle, 0, sizeof(WCHAR)*512); ofn.lStructSize = sizeof(ofn);ofn.hwndOwner = yMain->m_hWnd;ofn.hInstance ...

代码如下:

代码如下:

OPENFILENAME ofn;
WCHAR* szFile = new WCHAR[512];
WCHAR* szFileTitle = new WCHAR[512];
memset(&ofn, 0, sizeof(ofn));
memset(szFile, 0, sizeof(WCHAR)*512);
memset(szFileTitle, 0, sizeof(WCHAR)*512);

ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = yMain->m_hWnd;
ofn.hInstance = yMain->m_hInst;
ofn.lpstrFilter = L"All File*.*";
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(WCHAR)*512;
ofn.lpstrFileTitle = szFileTitle;
ofn.nMaxFileTitle = sizeof(WCHAR)*512;
ofn.Flags = OFN_FILEMUSTEXIST | OFN_EXPLORER;

// 按下确定按钮
BOOL ok = GetOpenFileName(&ofn);
if( ok ){
MessageBox(hWnd, L"23", L"44", MB_OK);
}

delete []szFile;
delete []szFileTitle;

其中,有个地方需要注意一下,要是不使用以下的处理话,会出现无法弹出浏览窗口界面的问题:

代码如下:

WCHAR* szFile = new WCHAR[512];
WCHAR* szFileTitle = new WCHAR[512];

关于这两个变量,最好就需要先分配空间,如果直接定义为数组的话,就会导致浏览文件的窗口弹不出来。原因在于,这两个变量是局部变量,定义为数组的话,空间占用太大了,无法自动分配出来,需要专门分配内存才行。
上述代码在debug和release版中都测试过,可以正常的弹出打开的窗口。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我在双系统win98@win2000下重装win98应该备份哪几个文件?
  • 我的机器装了WINDOWS2000 和 LINUX 7.3 , 请问在LINUX 中如何访问`WIN2K中的文件?同样在WIN2K中如何访问LINUX 中的文件?
  • samba装好一半了,linux下mount win下能成功,但在win下进不了linux共享的文件
  • linux中登陆win2003文件服务器,传送和下载文件的命令?
  • j2sdk-1_4_0-rc-win文件和j2sdkee-1_3-beta2-win.exe一样吗?
  • 后缀名为.RPM的文件(如wget-1.5.0-2.src.rpm)是什么文件?在WIN98或NT上能用什么文件打开?谢谢!
  • 问一下,linux如何从win上下载文件.....
  • 【求助】如何实现VMware中linux访问win2000的文件
  • 如何将本地机(Win2000)的文件复制到 Unix服务器上?
  • 从linux中拷一个文件到软盘 但在win2000中不可见
  • win2003:复制过程中要oem .bin文件? (在线等)
  • 怎样用redhat9.0连接win2000中的共享文件夹
  • 如何用mount挂接win98.img启动镜像文件
  • 用Jbuilder 做的JAVA程序能编译成Exe 文件在Win98 下运行吗?
  • 那里可以down到win2000和Linux启动镜像img文件
  • win7 怎么共享 fedora14下文件夹
  • 高手请进,关于linux安装后损坏WIN2000系统文件的问题
  • 如何从WIN2000文件服务器中读取资料?
  • 1.除了在安装过程中设置共享分区外,redhat_linux9怎样察看win2000—fat32下的文件,比如读取txt文件,播放mp3等。
  • 怎样在WIN2000下访问LINUX(EXT3)的文件?
  • win7, win8安装docker需要了解的概念
  • 我系统安装了win2000,win98,linux,现在登录时只能进入win98和linux,无法进入win2000
  • win7,win8安装Docker具体过程
  • 有那位在win2000和win98上都装过tomcat,为什么我在win2000可以很容易装上,在win98就装不上,有什么区别?
  • win7,win8安装docker的依赖条件
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • win7/Windows7系统下载地址搜集整理
  • 先装win me 再装redhat 9.0 再在win me 下装win xp ,linux 不见了.怎么恢复linux啊?
  • 怎样重装win7系统?win7重装系统步骤详细图文介绍
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • Win7 64位下mysql 下载、安装与配置图文教程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3