home *** CD-ROM | disk | FTP | other *** search
/ PC Users 1998 June / Cd Pc Users 9.iso / prog / inst / anictl / demo / mcomdlg.bas < prev   
Encoding:
BASIC Source File  |  1998-04-09  |  3.4 KB  |  107 lines

  1. Attribute VB_Name = "modComDlg"
  2. Option Explicit
  3.  
  4. '***********************************************************************
  5. 'mComDlg.Bas was written by Domenico Statuto (dstatuto@mbox.vol.it)
  6. '
  7. 'Visit the CCRP web site at http://www.mvps.org/ccrp to download
  8. 'his freeware FileDialogs Control that encapsulates this and much more
  9. 'functionality not found in COMDLG32.DLL
  10. '
  11. '***********************************************************************
  12.  
  13. Private Type OPENFILENAME
  14.     lStructSize As Long
  15.     hwndOwner As Long
  16.     hInstance As Long
  17.     lpstrFilter As String
  18.     lpstrCustomFilter As String
  19.     nMaxCustFilter As Long
  20.     nFilterIndex As Long
  21.     lpstrFile As String
  22.     nMaxFile As Long
  23.     lpstrFileTitle As String
  24.     nMaxFileTitle As Long
  25.     lpstrInitialDir As String
  26.     lpstrTitle As String
  27.     Flags As Long
  28.     nFileOffset As Integer
  29.     nFileExtension As Integer
  30.     lpstrDefExt As String
  31.     lCustData As Long
  32.     lpfnHook As Long
  33.     lpTemplateName As String
  34. End Type
  35.  
  36. Public Const MAX_PATH = 255
  37. Public Const OFN_ALLOWMULTISELECT = &H200
  38. Public Const OFN_CREATEPROMPT = &H2000
  39. Public Const OFN_ENABLEHOOK = &H20
  40. Public Const OFN_ENABLETEMPLATE = &H40
  41. Public Const OFN_ENABLETEMPLATEHANDLE = &H80
  42. Public Const OFN_EXPLORER = &H80000                         '//  new look commdlg
  43. Public Const OFN_EXTENSIONDIFFERENT = &H400
  44. Public Const OFN_FILEMUSTEXIST = &H1000
  45. Public Const OFN_HIDEREADONLY = &H4
  46. Public Const OFN_LONGNAMES = &H200000                       '//  force long names for 3.x modules
  47. Public Const OFN_NOCHANGEDIR = &H8
  48. Public Const OFN_NODEREFERENCELINKS = &H100000
  49. Public Const OFN_NOLONGNAMES = &H40000                      '//  force no long names for 4.x modules
  50. Public Const OFN_NONETWORKBUTTON = &H20000
  51. Public Const OFN_NOREADONLYRETURN = &H8000
  52. Public Const OFN_NOTESTFILECREATE = &H10000
  53. Public Const OFN_NOVALIDATE = &H100
  54. Public Const OFN_OVERWRITEPROMPT = &H2
  55. Public Const OFN_PATHMUSTEXIST = &H800
  56. Public Const OFN_READONLY = &H1
  57. Public Const OFN_SHAREAWARE = &H4000
  58. Public Const OFN_SHAREFALLTHROUGH = 2
  59. Public Const OFN_SHARENOWARN = 1
  60. Public Const OFN_SHAREWARN = 0
  61. Public Const OFN_SHOWHELP = &H10
  62.  
  63. Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
  64. Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
  65. Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
  66.  
  67. Public Function OpenFileForAVI() As String
  68.  
  69.    On Error GoTo OpenFileForAVI_Error
  70.    
  71.    Dim OFN As OPENFILENAME
  72.    Dim lResult As Long
  73.    
  74.    'initialize sensible fields of OPENFILENAME
  75.    With OFN
  76.       .lStructSize = Len(OFN)
  77.       .Flags = OFN_EXPLORER Or OFN_HIDEREADONLY
  78.       .lpstrTitle = "Select AVI"
  79.       .lpstrFilter = "AVI Files" & vbNullChar & "*.AVI" & vbNullChar & _
  80.                      "All Files" & vbNullChar & "*.*" & vbNullChar & vbNullChar
  81.       .lpstrFile = String$(MAX_PATH, 0)
  82.       .nMaxFile = MAX_PATH
  83.    End With
  84.    
  85.    '// Show the Openfile dialog
  86.    If GetOpenFileName(OFN) Then
  87.       
  88.      'remove the trailing null
  89.       OpenFileForAVI = Left$(OFN.lpstrFile, InStr(OFN.lpstrFile, Chr$(0)))
  90.       Exit Function
  91.    
  92.    End If
  93.    
  94.     
  95. OpenFileForAVI_Error:
  96.     Dim t As Long
  97.     
  98.     '// Errors?
  99.     t = CommDlgExtendedError()
  100.     If t Then
  101.         MsgBox Str(t), , "Error in OpenFileName"
  102.     End If
  103.    
  104. End Function
  105.  
  106.  
  107.