注册
 找回密码
 注册
江西广告网
查看: 288|回复: 0
打印 上一主题 下一主题

使用Windows API函数显示打开文件对话框

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-24 11:59:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  平时使用VB编程时需要用到"打开文件"类似的对话框时我们一般需要添加一个commondialogue的控件。使用这个控件能完成如“打开”,“另存”,“颜色”,“打印”等众多的功能,但是如果一个功能很简单的程序,使用这个控件却也造成了一些不必要的麻烦。一个是需要安装,再个增加了发布文件包的体积。      下面介绍如何使用Window API显示一个“打开”的对话框:   General.bas:      Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _   "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long      Type OPENFILENAME   lStructSize As Long   hwndOwner As Long   hInstance As Long   lpstrFilter As String   lpstrCustomFilter As String   nMaxCustFilter As Long   nFilterIndex As Long   lpstrFile As String   nMaxFile As Long   lpstrFileTitle As String   nMaxFileTitle As Long   lpstrInitialDir As String   lpstrTitle As String   flags As Long   nFileOffset As Integer   nFileExtension As Integer   lpstrDefExt As String   lCustData As Long   lpfnHook As Long   lpTemplateName As String   End Type      在调用对话框的按钮的click事件输入下面代码:   Private Sub FileOpen_Click()   Dim ofn As OPENFILENAME   Dim rtn As String      ofn.lStructSize = Len(ofn)   ofn.hwndOwner = Me.hWnd   ofn.hInstance = App.hInstance   ofn.lpstrFilter = "所有文件"   ofn.lpstrFile = Space(254)   ofn.nMaxFile = 255   ofn.lpstrFileTitle = Space(254)   ofn.nMaxFileTitle = 255   ofn.lpstrInitialDir = App.Path   ofn.lpstrTitle = "打开文件"   ofn.flags = 6148   rtn = GetOpenFileName(ofn)   If rtn >= 1 Then   msgbox ofn.lpstrFile   Else   msgbox "Cancel Was Pressed"   End If   End Sub          <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表