vbAccelerator - Contents of code file: mDeclares.bas

Attribute VB_Name = "mDeclares"
Option Explicit

Public Type RECT
   left As Long
   top As Long
   right As Long
   bottom As Long
End Type
Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal
 hWndNewParent As Long) As Long
Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal X As
 Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal
 bRepaint As Long) As Long
Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect
 As RECT) As Long
Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As
 Long
Public Const SM_CXDLGFRAME = 7
Public Const SM_CYDLGFRAME = 8
Public Const SM_CYCAPTION = 4
Private Declare Function SendMessageString Lib "user32" Alias "SendMessageA"
 (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As
 String) As Long
Private Const WM_USER = &H400&

Private Const CDM_FIRST = (WM_USER + 100)
Private Const CDM_GETFILEPATH = (CDM_FIRST + &H1)
Private Const MAX_PATH = 260

Public Property Get GetCDlgFileName(ByVal hDlg As Long) As String
Dim sBuf As String
Dim iPos As Long
Dim hwnd As Long
   hwnd = GetParent(hDlg)
   sBuf = String$(MAX_PATH, 0)
   SendMessageString hwnd, CDM_GETFILEPATH, 260, sBuf
   iPos = InStr(sBuf, vbNullChar)
   If iPos > 0 Then
      GetCDlgFileName = left$(sBuf, iPos - 1)
   End If
End Property