MR MAN Posted June 7, 2009 Posted June 7, 2009 I FOUND THIS ROUTINE ON NET TO MAKE BROWSE BUTTON:- Public Type BrowseInfo hwndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type Public Const BIF_RETURNONLYFSDIRS = 1 Public Const MAX_PATH = 260 Public Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long) Public Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long Public Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long Public Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long Public Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String 'declare variables to be used Dim iNull As Integer Dim lpIDList As Long Dim lResult As Long Dim sPath As String Dim udtBI As BrowseInfo 'initialise variables With udtBI .hwndOwner = hwndOwner .lpszTitle = lstrcat(sPrompt, "") .ulFlags = BIF_RETURNONLYFSDIRS End With 'Call the browse for folder API lpIDList = SHBrowseForFolder(udtBI) 'get the resulting string path If lpIDList Then sPath = String$(MAX_PATH, 0) lResult = SHGetPathFromIDList(lpIDList, sPath) Call CoTaskMemFree(lpIDList) iNull = InStr(sPath, vbNullChar) If iNull Then sPath = Left$(sPath, iNull - 1) End If 'If cancel was pressed, sPath = "" BrowseForFolder = sPath End Function this is how it is called Code: SSpath = BrowseForFolder(hWnd, "Please select a folder.") IT MAKE MENU APPEAR AND CHOOSE DIRECTORY I NEED MY QUESTION IS HOW CAN I MAKE IT LIST FILES IN CHOOSEN FOLDER WITH EXTENSION DWG IN LISTBOX AND THEN RUN A LISP ON THEM Quote
MR MAN Posted June 10, 2009 Author Posted June 10, 2009 IS IT DEFFICULT OK LET US MAKE IT EASY I HAVE A COMMANDBUTTON CALLED BROWSE WHEN I PRESS ON IT I CAN SELECT MANY FILES I NEED PUT THIS SELECTED FILES IN LISTBOX CALLED LISTBOX1 CAN ANY ONE HELP ME Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.