专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »VB教程 » vb打开文件:如何实现VB中打开图像文件时的预览功能 »正文

vb打开文件:如何实现VB中打开图像文件时的预览功能

来源: 发布时间:星期四, 2009年1月15日 浏览:11次 评论:0
  前阵有人在VB专家门诊中提出个问题如何在VB中实现打开图像文件预览虽然给出了300分高分回答着却寥寥无几我在参照了DELPHI源代码后在VB中实现了其部分图像预览功能在中文WINDOWS98 SE下测试通过  从MSDN中可以知道文件打开通用对话框需API GetOpenFileName原形如下:

  BOOL GetOpenFileName( LPOPENFILENAME lpofn );// lpofn 为化数据结构地址

  其参数lpofn指向类型为OPENFILENAME变量地址Windows已经为我们实现自定义文件打开对话框留了接口为了实现这个自定义对话框重点设置OPENFILENAME如下几个参数:

   Flags  OFN_ENABLEHOOK  使由lpfnHook成员指定钩子有效
  OFN_ENABLETEMPLATE 表示由lpTemplateName指定个对话框模板资源这个资源存在于由hInstance指定模块中
OFN_EXPLORER 如果指定了上述两个标志则必须指定这标志
lpfnHook 指向钩子地址
lpTemplateName 对话框模板资源串名而不是ID



  就是说你要在你中包含个对话框模板Windows将以这个模板为基础显示通用对话框从很多资料上都可以知道如果要在自定义对话框中显示通用对话框在您对话框资源中必须包含个StaticID是stc32十进制值为1119这个Static也就是显示原来通用对话框地方当然他对对话框也有些要求这里就不废话了自己看MSDN吧

  我们在个可以制作对话框资源环境(我用是VC)中制作出这个对话框并将它存为res文件从这里开始我们进入VB IDE中把这个资源文件加入到你VB应用假设它名字是“DLGOPENTEMP”

  接下来我们在VB工程中加入个FORM假设它名字是FrmPreview将它BorderStyle 设定为None并将个PictureBox或者Image加入到窗体中名字就叫做Picture1吧我们就将在它里边显示预览内容下边呢也就是最关键编写Hook

  在工程中加入个Module名字无所谓啦假设我们钩子叫wndProc定义如下:

  Public Function wndProc(ByVal hDlg As Long, ByVal uiMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   _disibledevent= GetOpenFileName(openfile)
lblExit:
End Function


  文件就放在filesname里它必须预先分配好空间Soryy又说废话了

  这些代码没有经过严格测试只是实现了简单功能肯定存在很多BUG如果哪位兄弟姐妹发现了或者给DEBUG了别忘了给我妹Email地址是[email protected]

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: