加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ComDlg32 | GetOpenFileName()

(2005-05-10 20:04:52)
分类: 技术/开发(原创/转载)
这个函数主要功能是显示一个打开文件对话框,由ComDlg32.dll 导出.其实这个函数在DLL内部与GetSaveFileName()调用的是同一个函数GetFileName()只是第二个参数不同(第二个参数指向一个CALLBACK窗口函数,在GetOpenFileName()中,窗口函数为FileOpenDlgProc(),在GetSaveFileName()中,窗口函数为FileSaveDlgProc())

在GetFileName()函数中,会判断一系列参数,如果发现要显示的是WINDOWS2000样式的新对话框样式时,跟据窗口函数分别调用新函数,具体来说,如果窗口函数是FileOpenDlgProc时,调用NewGetOpenFileName(), 如果窗口函数为FileSaveDlgProc时,调用NewGetSaveFileName(),其实这两个函数与原来的GetOpenFileName(),GetSaveFileName()的作用,参数是一样的,只不过一个是显示旧样式的对话框窗口,一个是显示新样式的窗口,这就是微软升级通用对话框的方法.

下面是新样式对话框的函数调用堆

GetFileName()

NewGetOpenFileName() . NewGetSaveFileName()

NewGetFileName()

其实与旧样式对话框的函数调用堆是一样的.但是在NewGetFileName中,新样式的打开和保存对话框用的资源与窗口函数与旧的是不同的,如窗口函数,打开对话框用的窗口函数为OpenDlgProc,保存对话框用的窗口函数为SaveDlgProc.



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有