平时使用VB编程时需要用到打开文件类似的对话框时我们一般需要添加一个commondialogue的控件使用这个控件能完成如打开另存颜色打印等众多的功能但是如果一个功能很简单的程序使用这个控件却也造成了一些不必要的麻烦一个是需要安装再个增加了发布文件包的体积 下面介绍如何使用Window API显示一个打开的对话框 Generalbas: Declare Function GetOpenFileName Lib comdlgdll 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 ofnlStructSize = Len(ofn) ofnhwndOwner = MehWnd ofnhInstance = ApphInstance ofnlpstrFilter = 所有文件 ofnlpstrFile = Space() ofnnMaxFile = ofnlpstrFileTitle = Space() ofnnMaxFileTitle = ofnlpstrInitialDir = AppPath ofnlpstrTitle = 打开文件 ofnflags = rtn = GetOpenFileName(ofn) If rtn >= Then msgbox ofnlpstrFile Else msgboxCancel Was Pressed End If End Sub |