سلام دوستان
ميشه بگين چطوري ميشه كادر open براي پوشه باز كرد يعني بجاي انتخاب يك فايل يك پوشه را بشه انتخاب كرد
Printable View
سلام دوستان
ميشه بگين چطوري ميشه كادر open براي پوشه باز كرد يعني بجاي انتخاب يك فايل يك پوشه را بشه انتخاب كرد
سلام.
قبلا مطرح شده سرچ بفرمایید.
ببخشید من گشتم اما نبود
نمی دونم چی بگم
ببخشید من گشتم اما نبود
نمی دونم چی بگم
سلام.
منظورت از باز کردن پوشه چیه؟ منظورت اینه که صفحه اکسپلورر باز شه؟ اگه منظورت اینه این دستور پوشه مورد نظرتو باز میکنه.
این دستور پوشه ویندوز رو باز میکنه.کد:Shell "Explorer.exe C:\Windows"
نه من كادر اپن براي انتخاب يك پوشه مي خواهمنقل قول:
نوشته شده توسط Payman_62
مثلا هنگام نصب كه يك پوشه را انتخاب ميكنيد تا برنامه نصب شود
ابتدا يك module با محتويات زير ايجاد كنيد:
کد:Private 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
'tipe browse
Public Enum BrowseType
BrowseForFolders = &H1
BrowseForComputers = &H1000
BrowseForPrinters = &H2000
BrowseForEverything = &H4000
End Enum
'tipe folder
Public Enum FolderType
CSIDL_BITBUCKET = 10
CSIDL_CONTROLS = 3
CSIDL_DESKTOP = 0
CSIDL_DRIVES = 17
CSIDL_FONTS = 20
CSIDL_NETHOOD = 18
CSIDL_NETWORK = 19
CSIDL_PERSONAL = 5
CSIDL_PRINTERS = 4
CSIDL_PROGRAMS = 2
CSIDL_RECENT = 8
CSIDL_SENDTO = 9
CSIDL_STARTMENU = 11
End Enum
Public Const BIF_USENEWUI = &H40
Public Const BIF_EDITBOX = &H10
Public Const BIF_RETURNONLYFSDIRS = &H1
Public Const BIF_VALIDATE = &H20
Private Const MAX_PATH = 260
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32.dll" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32.dll" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hWndOwner As Long, ByVal nFolder As Long, ListId As Long) As Long
Public Function BrowseFolders(hWndOwner As Long, sMessage As String, Browse As BrowseType, ByVal RootFolder As FolderType) As String
Dim Nullpos As Integer
Dim lpIDList As Long
Dim res As Long
Dim sPath As String
Dim BInfo As BrowseInfo
Dim RootID As Long
SHGetSpecialFolderLocation hWndOwner, RootFolder, RootID
BInfo.hWndOwner = hWndOwner
BInfo.lpszTitle = lstrcat(sMessage, "")
'BInfo.ulFlags = Browse
BInfo.ulFlags = BIF_USENEWUI Or BIF_EDITBOX Or BIF_RETURNONLYFSDIRS _
Or BIF_VALIDATE
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If RootID <> 0 Then BInfo.pIDLRoot = RootID
lpIDList = SHBrowseForFolder(BInfo)
If lpIDList <> 0 Then
sPath = String(MAX_PATH, 0)
res = SHGetPathFromIDList(lpIDList, sPath)
Call CoTaskMemFree(lpIDList)
Nullpos = InStr(sPath, vbNullChar)
If Nullpos <> 0 Then
sPath = Left(sPath, Nullpos - 1)
End If
End If
BrowseFolders = sPath
End Function
نحوه فراخواني و استفاده از function در form هاي برنامه:
کد:Private Sub Command1_Click()
retVal = BrowseFolders(Me.hWnd, "Ye Folder entekhab koneed...", BrowseForFolders, CSIDL_DESKTOP)
MsgBox retVal
End Sub
سلام.
از Drivelistbox و dirlistbox و Filelistbox هم میتونی استفاده کنی.
ولی روشی که صابر گفت با کلاس تره.
سلام
توی components دنبال Microsoft common dialog control 6.0 بگرد.
حالا یک commondialog روی فرم بزار.
بعد مثلا توی یک command بنویس :
commodialog1.showopen
حالا وقتی برنامرو اجرا کنی و روی command کلیک کنی پنجره open ویندوز ظاهر میشه.
موفق باشید.
اللهم عجل لولیک الفرج
سلام.نقل قول:
نوشته شده توسط A_M_IT2005
این برای انتخاب فایله نه پوشه.