(declarations)
In Module PicMain
1 ' PicInfo main module
2 ' ©2006 Aivosto Oy (www.aivosto.com)
3 '
4 ' This file is part of a sample project for Project Analyzer.
5 ' Distribution of this file is only allowed along with Project Analyzer
6 ' according to the Project Analyzer license terms.
7
8 Option Explicit
9
10 ' Global variable containing the title of this program
11 Public ProgramTitle As String
12
13
14 ' API declarations for FileDialog
15 Private Declare Function GetOpenFileNameA Lib "comdlg32.dll" (pOpenfilename As OpenFilename) As Long
16
17 ' This API Declare is dead
Dead declaration
18 Private Declare Function GetSaveFileNameA Lib "comdlg32.dll" (pOpenfilename As OpenFilename) As Long
19
20 Private Type OpenFilename
21 lStructSize As Long
22 hwndOwner As Long
23 hInstance As Long
24 lpstrFilter As String
25 lpstrCustomFilter As String
26 nMaxCustFilter As Long
27 nFilterIndex As Long
28 lpstrFile As String
29 nMaxFile As Long
30 lpstrFileTitle As String
31 nMaxFileTitle As Long
32 lpstrInitialDir As String
33 lpstrTitle As String
34 Flags As Long
35 nFileOffset As Integer
36 nFileExtension As Integer
37 lpstrDefExt As String
38 lCustData As Long
39 lpfnHook As Long
40 lpTemplateName As String
41 End Type
42
43 Public Enum EFileDlgFlags
Dead enum constant: OFN_ALLOWMULTISELECT
44 OFN_ALLOWMULTISELECT = &H200 ' box allows multiple selections
Dead enum constant: OFN_CREATEPROMPT
Line too long: 181
45 OFN_CREATEPROMPT = &H2000 ' If the user specifies a file that does not exist, this flag causes the dialog box to prompt the user for permission to create the file.
46 OFN_FILEMUSTEXIST = &H1000 ' user can type only names of existing files in the File Name entry field
47 OFN_HIDEREADONLY = &H4 ' Hides the Read Only check box.
48
Dead enum constant: OFN_NOCHANGEDIR
49 OFN_NOCHANGEDIR = &H8
50 ' Restores the current directory to its original value if the user changed the directory while searching for files.
51 ' Windows NT 4.0/2000/XP: This flag is ineffective for GetOpenFileName.
52
53
Dead enum constant: OFN_NODEREFERENCELINKS
54 OFN_NODEREFERENCELINKS = &H100000
55 ' Directs the dialog box to return the path and file name of the selected shortcut (.LNK) file.
56
Dead enum constant: OFN_NONETWORKBUTTON
57 OFN_NONETWORKBUTTON = &H20000
58 ' Hides and disables the Network button.
59
60 OFN_NOREADONLYRETURN = &H8000&
61 ' Specifies that the returned file does not have the Read Only check box selected and is not in a write-protected directory.
62
63
Dead enum constant: OFN_NOTESTFILECREATE
64 OFN_NOTESTFILECREATE = &H10000
65 ' Specifies that the file is not created before the dialog box is closed.
66 ' This flag should be specified if the application saves the file on a create-nonmodify network share.
67 ' When an application specifies this flag, the library does not check for write protection, a full disk,
68 ' an open drive door, or network protection.
69
70 OFN_OVERWRITEPROMPT = &H2
71 ' Causes the Save As dialog box to generate a message box if the selected file already exists. The user must confirm whether to overwrite the file.
72
73 OFN_PATHMUSTEXIST = &H800
74 ' Specifies that the user can type only valid paths and file names.
75
Dead enum constant: OFN_READONLY
76 OFN_READONLY = &H1
77 ' Causes the Read Only check box to be selected initially when the dialog box is created.
78 ' This flag indicates the state of the Read Only check box when the dialog box is closed.
79
Dead enum constant: OFN_SHAREAWARE
80 OFN_SHAREAWARE = &H4000
81 ' Specifies that if a call to the OpenFile function fails because of a network sharing violation, the error is ignored and the dialog box returns the selected file name.
82
83 ' Open dialog defaults:
84 ' File and path must exist
85 ' No Read Only checkbox is displayed
86 OFN_OPENDEFAULTS = OFN_FILEMUSTEXIST Or OFN_PATHMUSTEXIST Or OFN_HIDEREADONLY
87
88 ' Save dialog defaults:
89 ' User must confirm overwrite
90 ' Path must exist
91 ' * Read-only files can be selected, caller must use error handling if need to kill/overwrite/append
Dead enum constant: OFN_SAVEDEFAULTS
92 OFN_SAVEDEFAULTS = OFN_OVERWRITEPROMPT Or OFN_PATHMUSTEXIST Or OFN_HIDEREADONLY Or OFN_NOREADONLYRETURN
93
94 End Enum
95
96 Const MAXFILE = 512 ' Size of file name buffer in chars. Should be at least 256.
97
98 ' Error code retrieval
99 Private Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
100 Private Const CDERR_DIALOGFAILURE = &HFFFF
101 Private Const CDERR_FINDRESFAILURE = &H6
102 Private Const CDERR_NOHINSTANCE = &H4
103 Private Const CDERR_INITIALIZATION = &H2
104 Private Const CDERR_NOHOOK = &HB
105 Private Const CDERR_LOCKRESFAILURE = &H8
106 Private Const CDERR_NOTEMPLATE = &H3
107 Private Const CDERR_LOADRESFAILURE = &H7
108 Private Const CDERR_STRUCTSIZE = &H1
109 Private Const CDERR_LOADSTRFAILURE = &H5
110 Private Const FNERR_BUFFERTOOSMALL = &H3003
111 Private Const CDERR_MEMALLOCFAILURE = &H9
112 Private Const FNERR_INVALIDFILENAME = &H3002
113 Private Const CDERR_MEMLOCKFAILURE = &HA
114 Private Const FNERR_SUBCLASSFAILURE = &H3001
115
116