GetOpenFileName

函数作用:

该函数创建一个Open公共对话框,使用户指定驱动器、目录和文件名、或使用户打开文件。

 

函数原型:

BOOL GetOpenFileName(LPOPENFILENAME Ipofn);

 

参数:

  • Ipofn:指向包含初始化对话框的信息的一个OPENFILENAME结构。当OpenfileName函数返回时,此结构包含有关用户文件选择的信息。

 

返回值:

  • 如果用户指定了一个文件名,点击OK按钮,返回值为非零。
  • 由 OPENFILENAME 结构的 IPstrFile 成员指向的缓冲区含有全路径和用户指定的文件名。如果用户取消或关闭 Open 对话框或错误出现,返回值为零。若想获得更多的错误信息,请调用 CommDlgExtendedError 函数。. Y- R9 @# v; \) _/ a& B, ~6 G


在使用前要先初始化 OPENFILENAME 这个结构哦。

typedef struct tagOFN
{
   DWORD lStructSize;
  HWND hwndOwner;
  HINSTANCE hInstance;
  LPCTSTR lpstrFilter;
   LPTSTR lpstrCustomFilter;
  DWORD nMaxCustFilter;
  DWORD nFilterIndex;
  LPTSTR lpstrFile;
  DWORD nMaxFile;
  LPTSTR lpstrFileTitle;
  DWORD nMaxFileTitle;
  LPCTSTR lpstrInitialDir;
  LPCTSTR lpstrTitle;
  DWORD Flags;
  WORD nFileOffset;
  WORD nFileExtension;
  LPCTSTR lpstrDefExt;
  LPARAM lCustData;
  LPOFNHOOKPROC lpfnHook;
  LPCTSTR lpTemplateName;
  #if (_WIN32_WINNT >= 0x0500)
   void * pvReserved;
  DWORD dwReserved;
  DWORD FlagsEx;
    #endif // (_WIN32_WINNT >= 0x0500). D" _- C. A! A/ S3 f
} OPENFILENAME, *LPOPENFILENAME;

OPENFILENAME 各个成员详细注释(有点小长):

lStructSize
  指定这个结构的大小,以字节为单位。
  Windows 95/98和Windows NT 4.0:特意为Windows 95/98或Windows NT 4.0,及带有WINVER和_WIN32_WINNT >= 0x0500编译时,为这个成员使用OPENFILENAME_SIZE_VERSION_400。
  Windows 2000及更高版本:这个参数使用sizeof (OPENFILENAME) 。

hwndOwner
  指向所有者对话框窗口的句柄。这个成员可以是任意有效窗口句柄,或如果对话框没有所有者它可以为NULL。

hInstance
  如果在Flags成员中设置了OFN_ENABLETEMPLATEHANDLE标记,hInstance成员指向包含一个对话框模板的内存对象。如果OFN_ENABLETEMPLATE标记被设置,hInstance是一个指向通过lpTemplateName成员命名的对话框模板的模块。如果两者都没有被设置,这个成员被忽略。
  如果OFN_EXPLORER标记被设置,系统使用Explorer风格的默认对话框的子窗口作为指定模板来建立一个对话框。如果OFN_EXPLORER标记没有被设置,系统使用模板

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值