ورود

View Full Version : سوال: کامپوننت dir list box.ocx



سید حمید حق پرست
جمعه 14 بهمن 1390, 18:48 عصر
با سلام به تمام دوستان و مدیران محترم . من یه کامپوننت dir list box.ocx میخواستم . خود ویژال بیسیک داره اما گرافیکش خیلی قشنگ نیست و خیلی قدیمیه من یه قشنگشو میخواستم . هرچی تو سایت و گوگل سرچ کردم نیافتمش . خلاصه اگر تکراری هست شرمنده
ای

M.T.P
جمعه 14 بهمن 1390, 20:25 عصر
این کد رو تو ماژول کپی کن:



Option Explicit

Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long

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

Const BIF_RETURNONLYFSDIRS = 1
Const MAX_PATH = 260


Function DirPath(hwnd As Long) As String
Dim iNull As Integer, lpIDList As Long, lResult As Long
Dim sPath As String, udtBI As BrowseInfo

With udtBI
.hWndOwner = hwnd
.lpszTitle = lstrcat("C:\", "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With

lpIDList = SHBrowseForFolder(udtBI)
If lpIDList Then
sPath = String$(MAX_PATH, 0)
SHGetPathFromIDList lpIDList, sPath
CoTaskMemFree lpIDList
iNull = InStr(sPath, vbNullChar)
If iNull Then
sPath = Left$(sPath, iNull - 1)
End If
End If

DirPath = sPath
End Function


و اینطور استفاده کن:


MsgBox DirPath(hwnd)

محسن واژدی
جمعه 14 بهمن 1390, 20:27 عصر
سلام
ابزارهای مختلفی وجود دارند، به عنوان مثال میتوانید از DirBrowser ابزار code-jock استفاده کنید

موفق باشید

سید حمید حق پرست
جمعه 14 بهمن 1390, 22:23 عصر
ممنون از جواب شما ولی این کدی که دادید به صورت مسج باکس میاره من میخوام تو فرم قرار بدم

سید حمید حق پرست
جمعه 14 بهمن 1390, 22:24 عصر
سلام
ابزارهای مختلفی وجود دارند، به عنوان مثال میتوانید از DirBrowser ابزار code-jock استفاده کنید

موفق باشید

داداش گل اگه کامپوننتهای که معرفی کردید دارید ممنون میشم بزارید اینجا

محسن واژدی
جمعه 14 بهمن 1390, 23:36 عصر
ابزار dir-browser کدجاک هم همان فرمی که جناب MTP اشاره کردند را نمایش میدهد

سید حمید حق پرست
شنبه 15 بهمن 1390, 03:22 صبح
ابزار dir-browser کدجاک هم همان فرمی که جناب MTP اشاره کردند را نمایش میدهد

شما که اسم کامپوننتو گفتید حد اقل اینجا میزاشتین تا دانلود میکردیم




این کد رو تو ماژول کپی کن:




Option Explicit Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long) Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long 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 Const BIF_RETURNONLYFSDIRS = 1 Const MAX_PATH = 260 Function DirPath(hwnd As Long) As String Dim iNull As Integer, lpIDList As Long, lResult As Long Dim sPath As String, udtBI As BrowseInfo With udtBI .hWndOwner = hwnd .lpszTitle = lstrcat("C:\", "") .ulFlags = BIF_RETURNONLYFSDIRS End With lpIDList = SHBrowseForFolder(udtBI) If lpIDList Then sPath = String$(MAX_PATH, 0) SHGetPathFromIDList lpIDList, sPath CoTaskMemFree lpIDList iNull = InStr(sPath, vbNullChar) If iNull Then sPath = Left$(sPath, iNull - 1) End If End If DirPath = sPath End Function
و اینطور استفاده کن:

کد HTML:
MsgBox DirPath(hwnd)



ممنون از لطف شما . اگر ممکنه بگید چطوری داخل فرم استفادش کنم نه داخل مسج باکس یا کامپوننتی چیزی دارید بزارید ممنون میشم

سید حمید حق پرست
شنبه 15 بهمن 1390, 09:19 صبح
کسی نیست جوابمونو بده :گریه:. یه چیز ساده درخواست کردم . اگه میتونید کمکم کنید ممنون میشم:قلب: . خدا خیرتون بده:قلب:

vbhamed
یک شنبه 16 بهمن 1390, 12:28 عصر
سلام

دنبال كامپوننت Folder Tree جستجو كنيد
اينم يك لينك

www.ArminaCo.com/ft.zip

http://folderview-activex-control.software.informer.com

سید حمید حق پرست
یک شنبه 16 بهمن 1390, 19:06 عصر
با سپاس از راهنمایی شما من اینم سرچ کردم اما نیافتم چیز بدرد بخوری . من ازتون خواستم کامپوننت بزارید داداش نه اسمشو من خودم اسم زیاد بلدم ولی خودشو ندارم . من کمک خواستم کسی جواب نمیده . یکی نیست مارو کمک کنه

سید حمید حق پرست
یک شنبه 16 بهمن 1390, 19:12 عصر
من کامپوننتی یا کدی که مثل کامپوننت dirlistbox وی بی باشه اما قشنگتر از اون . چون مال وی بی مال ویندوز 98 میباشد . لطفا کمک کنید ممنونتون میشم

سید حمید حق پرست
دوشنبه 17 بهمن 1390, 14:18 عصر
کسی نبود جواب این بنده حقیرو بده؟

hrj1981
دوشنبه 17 بهمن 1390, 20:07 عصر
سلام حمید خان ، چرا اینقدر زود جوش میاری ، یکم فرصت بدی جواب سوالتو میگیری ، اون ابزاری که دوستان گفتن برو به امضای من و از قسمت دانلود دریافتش کن

ASedJavad
دوشنبه 17 بهمن 1390, 21:16 عصر
شما دقیقا چی میخواید؟
یه کنترل که توش فقط اسامی فولدر ها رو نشون بده؟
یا یه کنترل که کل فایلها و درایو ها و فولدرها رو نشون بده؟ (یعنی یه چیزی مثل مای کامپیوتر)

سید حمید حق پرست
دوشنبه 17 بهمن 1390, 21:34 عصر
فقط اسامی فولدر . مثل dirlistbox خود ویبی اما گرافیکی باشه . واسه مسیر دادن میخوام (ذخیره کردن)

اره من اینو میخوام . میخوام تو فرم استفاده کنم

MohammadGh2011
دوشنبه 17 بهمن 1390, 22:54 عصر
سلام عليکم خدمت دوستان
آقاي حق پرست فکر کنم همون چيزيه که ميخوايد.
دوتا کامپوننت بسيار زيبا و گرافيکي.
دانلود (http://s2.picofile.com/file/7285311177/M_Gh.rar.html)


موفق باشيد

سید حمید حق پرست
سه شنبه 18 بهمن 1390, 00:01 صبح
ممنون از شما دوست گرامی . اره این خودشه

سپاس

ASedJavad
سه شنبه 18 بهمن 1390, 07:17 صبح
بفرما:

Private Sub FolderView1_OnAfterNodeSelect(ByVal Node As FolderViewControl.ITreeNode)
Text1.Text = FolderView1.SelectedNode.Path
End Sub

سید حمید حق پرست
سه شنبه 18 بهمن 1390, 10:56 صبح
اینم نسخه کرک شده و هک شده . (توسط خودم) »:

نمیدونستم گذاشتن کرک خلاف قوانینه . شرمنده . حذف شد

Mr'Jamshidy
سه شنبه 18 بهمن 1390, 21:59 عصر
اینم نسخه کرک شده و هک شده . (توسط خودم) »:

آقای حق پرست گزاشتن کرک و وارز و امسال این ها ممنوعه (محض اطلاع گفتم)