您的批评和鼓励都是我把编程无限办好的动力! 您编程时遇到困难,或遇到不顺心的事想发发牢骚尽管到这里来吧! 虽然本网力求全面,但也不能包罗万象,这些我筛选出的优秀网站连接就是对本站最好的补充! 学习编程当然也离不开书本了,这里收集大量编程书籍! 编程无限之源码超市,这里收集的代码令你意想不到的全面! 欢迎光临编程网校,这里专门收集VB/CB入门文章及技术文章! 欢迎光临编程无限!
     
       
 
当前位置:英文资料 >> Other
Copy the contents to a Class module and you’ve got a standard common dialog class
  资料类型: Other 上传时间: 2001-02-21 阅读次数: 1204



Option Explicit

'API function declaration
Private 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

'DLL function declaration
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenFileName As OPENFILENAME) As Long

'Module level variable declaration
Private mstrFileName As String
Private mstrInitDir As String
Private mstrDialogTitle As String
Private mstrFilter As String

Public Property Get FileName() As String
FileName = mstrFileName
End Property
Public Property Let FileName(ByVal NewValue As String)
mstrFileName = NewValue
End Property
Public Property Get InitDir() As String
InitDir = mstrInitDir
End Property
Public Property Let InitDir(ByVal NewValue As String)
mstrInitDir = NewValue
End Property
Public Property Get DialogTitle() As String
DialogTitle = mstrDialogTitle
End Property
Public Property Let DialogTitle(ByVal NewValue As String)
mstrDialogTitle = NewValue
End Property
Public Property Get Filter() As String
Filter = mstrFilter
End Property
Public Property Let Filter(ByVal NewValue As String)
mstrFilter = NewValue
End Property
Private Sub Class_Initialize()
mstrFileName = ""
mstrInitDir = App.Path
mstrDialogTitle = App.Title
mstrFilter = "All Files (*.*) " & Chr(0) & "*.*" & Chr(0)
End Sub
Public Function OpenDialog(Optional NewFileName As String, Optional NewFilter As String, Optional NewTitle As String) As String
Dim OpenFile As OPENFILENAME
Dim lngReturn As Long
Dim strFilter As String
Dim strFileName As String
Dim strDialogTitle As String
Dim intSize As Integer

If IsMissing(NewFilter) Or NewFilter = "" Then
strFilter = mstrFilter
Else
strFilter = NewFilter
End If
If IsMissing(NewFileName) Or NewFileName = "" Then
strFileName = mstrFileName
Else
strFileName = NewFileName
End If
If IsMissing(NewTitle) Or NewTitle = "" Then
strDialogTitle = mstrDialogTitle
Else
strDialogTitle = NewTitle
End If

intSize = 257 - Len(strFileName)

OpenFile.lStructSize = Len(OpenFile)
OpenFile.hInstance = App.hInstance
OpenFile.lpstrFilter = strFilter
OpenFile.nFilterIndex = 1
OpenFile.lpstrFile = strFileName & String(intSize, 0)
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = mstrInitDir
OpenFile.lpstrTitle = strDialogTitle
OpenFile.flags = 0
lngReturn = GetOpenFileName(OpenFile)
If lngReturn = 0 Then
OpenDialog = ""
Else
OpenDialog = OpenFile.lpstrFile
End If

End Function

推荐给朋友 点 评( 0 ) 返回前页 关闭此页
   
  本类最热文章排名:
  1.Changing The Control Box Menu
2.Force SubMenus To St...
3.Prompt to enter a ne...
4.Defining An Array Property
5.Creating Cascading M...
6.Do the passwords math to save
7.This module contains...
8.Registry Functions
9.This class provides ...
10.Reading Writing any Registry Key
   
   
  评论:
 
 
 

 

关于本站 版权声明 联系方法
编程无限 V4.1 Copyright © 1999-2009 21code.com

京ICP备05006938号