148 lines
5.4 KiB
OpenEdge ABL
148 lines
5.4 KiB
OpenEdge ABL
VERSION 1.0 CLASS
|
|
BEGIN
|
|
MultiUse = -1 'True
|
|
Persistable = 0 'NotPersistable
|
|
DataBindingBehavior = 0 'vbNone
|
|
DataSourceBehavior = 0 'vbNone
|
|
MTSTransactionMode = 0 'NotAnMTSObject
|
|
END
|
|
Attribute VB_Name = "clsCommonDialog"
|
|
Attribute VB_GlobalNameSpace = False
|
|
Attribute VB_Creatable = True
|
|
Attribute VB_PredeclaredId = False
|
|
Attribute VB_Exposed = False
|
|
Option Explicit
|
|
|
|
Private Declare Function GetOpenFileName Lib "COMDLG32.DLL" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
|
|
Private Declare Function GetSaveFileName Lib "COMDLG32.DLL" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
|
|
|
|
Private cdlg As OPENFILENAME
|
|
Private LastFileName As String
|
|
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
|
|
|
|
Private Const OFN_ALLOWMULTISELECT = &H200
|
|
Private Const OFN_CREATEPROMPT = &H2000
|
|
Private Const OFN_ENABLEHOOK = &H20
|
|
Private Const OFN_ENABLETEMPLATE = &H40
|
|
Private Const OFN_ENABLETEMPLATEHANDLE = &H80
|
|
Private Const OFN_EXPLORER = &H80000 ' new look commdlg
|
|
Private Const OFN_EXTENSIONDIFFERENT = &H400
|
|
Private Const OFN_FILEMUSTEXIST = &H1000
|
|
Private Const OFN_HIDEREADONLY = &H4
|
|
Private Const OFN_LONGNAMES = &H200000 ' force long names for 3.x modules
|
|
Private Const OFN_NOCHANGEDIR = &H8
|
|
Private Const OFN_NODEREFERENCELINKS = &H100000
|
|
Private Const OFN_NOLONGNAMES = &H40000 ' force no long names for 4.x modules
|
|
Private Const OFN_NONETWORKBUTTON = &H20000
|
|
Private Const OFN_NOREADONLYRETURN = &H8000
|
|
Private Const OFN_NOTESTFILECREATE = &H10000
|
|
Private Const OFN_NOVALIDATE = &H100
|
|
Private Const OFN_OVERWRITEPROMPT = &H2
|
|
Private Const OFN_PATHMUSTEXIST = &H800
|
|
Private Const OFN_READONLY = &H1
|
|
Private Const OFN_SHAREAWARE = &H4000
|
|
Private Const OFN_SHAREFALLTHROUGH = 2
|
|
Private Const OFN_SHARENOWARN = 1
|
|
Private Const OFN_SHAREWARN = 0
|
|
Private Const OFN_SHOWHELP = &H10
|
|
|
|
Public Enum DialogFlags
|
|
ALLOWMULTISELECT = OFN_ALLOWMULTISELECT
|
|
CREATEPROMPT = OFN_CREATEPROMPT
|
|
ENABLEHOOK = OFN_ENABLEHOOK
|
|
ENABLETEMPLATE = OFN_ENABLETEMPLATE
|
|
ENABLETEMPLATEHANDLE = OFN_ENABLETEMPLATEHANDLE
|
|
EXPLORER = OFN_EXPLORER
|
|
EXTENSIONDIFFERENT = OFN_EXTENSIONDIFFERENT
|
|
FILEMUSTEXIST = OFN_FILEMUSTEXIST
|
|
HIDEREADONLY = OFN_HIDEREADONLY
|
|
LONGNAMES = OFN_LONGNAMES
|
|
NOCHANGEDIR = OFN_NOCHANGEDIR
|
|
NODEREFERENCELINKS = OFN_NODEREFERENCELINKS
|
|
NOLONGNAMES = OFN_NOLONGNAMES
|
|
NONETWORKBUTTON = OFN_NONETWORKBUTTON
|
|
NOREADONLYRETURN = OFN_NOREADONLYRETURN
|
|
NOTESTFILECREATE = OFN_NOTESTFILECREATE
|
|
NOVALIDATE = OFN_NOVALIDATE
|
|
OVERWRITEPROMPT = OFN_OVERWRITEPROMPT
|
|
PATHMUSTEXIST = OFN_PATHMUSTEXIST
|
|
ReadOnly = OFN_READONLY
|
|
SHAREAWARE = OFN_SHAREAWARE
|
|
SHAREFALLTHROUGH = OFN_SHAREFALLTHROUGH
|
|
SHARENOWARN = OFN_SHARENOWARN
|
|
SHAREWARN = OFN_SHAREWARN
|
|
SHOWHELP = OFN_SHOWHELP
|
|
End Enum
|
|
|
|
|
|
Public Function ShowOpen(ByVal Form_hWnd As Long, ByVal Title As String, Optional ByVal InitDir As String = "", Optional ByVal Filter As String = "All Files (*.*)|*.*|", Optional Flags As DialogFlags = FILEMUSTEXIST Or PATHMUSTEXIST) As String
|
|
Dim i As Integer
|
|
Filter = Replace(Filter, "|", Chr(0))
|
|
If Right(Filter, 1) <> Chr(0) Then Filter = Filter & Chr(0)
|
|
If Len(InitDir) = 0 Then InitDir = LastFileName
|
|
cdlg.lStructSize = Len(cdlg)
|
|
cdlg.hwndOwner = Form_hWnd
|
|
cdlg.hInstance = App.hInstance
|
|
cdlg.lpstrFilter = Filter
|
|
cdlg.lpstrFile = Space(254)
|
|
cdlg.nMaxFile = 255
|
|
cdlg.lpstrFileTitle = Space(254)
|
|
cdlg.nMaxFileTitle = 255
|
|
cdlg.lpstrInitialDir = InitDir
|
|
cdlg.lpstrTitle = Title
|
|
cdlg.Flags = Flags
|
|
ShowOpen = IIf(GetOpenFileName(cdlg), Trim(cdlg.lpstrFile), "")
|
|
If Len(ShowOpen) > 0 Then LastFileName = ShowOpen
|
|
End Function
|
|
|
|
Public Function ShowSave(ByVal Form_hWnd As Long, ByVal Title As String, Optional ByVal InitDir As String = "", Optional ByVal Filter As String = "All Files (*.*)|*.*|", Optional ByVal DefExt As String = "", Optional Flags As DialogFlags = OVERWRITEPROMPT) As String
|
|
Dim i As Integer
|
|
Filter = Replace(Filter, "|", Chr(0))
|
|
If Right(Filter, 1) <> Chr(0) Then Filter = Filter & Chr(0)
|
|
If Len(InitDir) = 0 Then InitDir = LastFileName
|
|
cdlg.lStructSize = Len(cdlg)
|
|
cdlg.lpstrTitle = Title
|
|
cdlg.hwndOwner = Form_hWnd
|
|
cdlg.hInstance = App.hInstance
|
|
cdlg.lpstrFilter = Filter
|
|
cdlg.lpstrDefExt = DefExt
|
|
cdlg.lpstrFile = Space(255)
|
|
cdlg.nMaxFile = 255
|
|
cdlg.lpstrFileTitle = Space(254)
|
|
cdlg.nMaxFileTitle = 255
|
|
cdlg.lpstrInitialDir = InitDir
|
|
cdlg.Flags = Flags
|
|
ShowSave = IIf(GetSaveFileName(cdlg), Trim(cdlg.lpstrFile), "")
|
|
If Len(ShowSave) > 0 Then LastFileName = ShowSave
|
|
End Function
|
|
|
|
Public Property Let FileName(szFileName)
|
|
LastFileName = szFileName
|
|
End Property
|
|
|
|
Public Property Get FileName()
|
|
FileName = LastFileName
|
|
End Property
|
|
|