大家好,请问easyx怎么弹出“打开”窗口,返回路径,版本:easyx2020,vc2019,win10谢谢!
类似这样:
打开
windows(C:)|
xxxxxxx(G:)|
文件名:
打开(O)
谢谢!!!
大家好,请问easyx怎么弹出“打开”窗口,返回路径,版本:easyx2020,vc2019,win10谢谢!
类似这样:
打开
windows(C:)|
xxxxxxx(G:)|
文件名:
打开(O)
谢谢!!!
这个功能可以使用 Windows API 实现。我在 VC2010 下实现了以下代码:
// 显示“打开文件对话框”
// 编译环境:VC2010 + EasyX_20200109(beta)
//
#include <graphics.h>
#include <conio.h>
int main()
{
HWND hwnd = initgraph(640, 480); // 创建绘图窗口(打开文件对话框的父窗口)
wchar_t szFile[260] = { 0 }; // 文件名
// 初始化结构体 OPENFILENAME(具体成员含义,请按 F1 参考 MSDN)
OPENFILENAME ofn; // 对话框结构体
ZeroMemory(&ofn, sizeof(ofn)); // 结构体用 0 填充
ofn.lStructSize = sizeof(ofn); // 结构体大小
ofn.hwndOwner = hwnd; // 父窗口
ofn.lpstrFile = szFile; // 文件名
ofn.nMaxFile = sizeof(szFile); // 文件名缓冲区大小
ofn.lpstrFilter = L"All\0*.*\0Text\0*.TXT\0"; // 文件类型筛选列表(详见 msdn)
ofn.nFilterIndex = 1; // 默认的文件类型筛选项编号(详见 msdn)
ofn.lpstrFileTitle = NULL; // 选中文件的文件名和扩展名(不带路径)
ofn.nMaxFileTitle = 0; // lpstrFileTitle 指向的缓冲区大小
ofn.lpstrInitialDir = NULL; // 初始路径
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; // 对话框的标志位设置
// 显示“打开文件对话框”
if (GetOpenFileName(&ofn) == TRUE)
outtextxy(0, 0, ofn.lpstrFile); // 输出用户选择的文件名
else
outtextxy(0, 0, L"(没有选择文件)");
// 按任意键退出
_getch();
closegraph();
return 0;
}