手机
当前位置:查字典教程网 >编程开发 >C语言 >win32使用openfilename浏览文件窗口示例
win32使用openfilename浏览文件窗口示例
摘要:代码如下:复制代码代码如下:OPENFILENAMEofn;WCHAR*szFile=newWCHAR[512];WCHAR*szFileT...

代码如下:

复制代码 代码如下:

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版中都测试过,可以正常的弹出打开的窗口。

【win32使用openfilename浏览文件窗口示例】相关文章:

基于select、poll、epoll的区别详解

深入理解链表的各类操作详解

二叉查找树的插入,删除,查找

基于C/C++时间函数的使用详解

基于C语言字符串函数的一些使用心得

C++获取任务栏打开程序窗口示例

C语言之free函数以及野指针介绍

HDOJ 1443 约瑟夫环的最新应用分析详解

使用ShellClass获取文件属性详细信息的实现方法

c语言中if 语句的作用范围示例代码

精品推荐
分类导航