تبلیغات :
دانلود فیلم جدید
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 1 از 1

نام تاپيک: BrowseForFolder Dialog

  1. #1
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض BrowseForFolder Dialog

    سلام.
    یکی دیگه ازDialog هایی که کاربرد بسیار زیادی داره BrowseForFolder هست. که برای استفاده از اون
    کلاسی در MFC وجود نداره و از چند structure و چند تابع برای به نمایش دادن این Dialog استفاده میشه.
    از این بابت این رو در یه Topic جداگانه قرار دادم چون از MFC استفاده نمیکنیم.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    در حقیقت این روش استفاده از Windows SDK هست.این structure در Shell32.Dll قرار داره و پارامتر های لازم رو برای تابع SHBrowseForFolder فراهم میکنه.این تابع باعث نمایش این Dialog میشه.این تابع هم در Shell32.Dll قرار داره وفایل h لازم برای این تابع shlobj.h هست.
    روش کار به این صورت هست:
    1-یک object1 از BROWSEINFO ایجاد میکنیم.
    2-یکobject2 از ITEMIDLIST ایجاد میکنیم.
    3-یک object3 از IMalloc ایجاد میکنیم. IMalloc در حقیقت یه COM هست.به طور ساده میشه در بارش گفت که یه Interface برای مدیریت , آزادکردن و تخصیص دادن حافظه هست که ازش استفاده میکنیم.
    4-سپس استفاده از تابع CoGetMalloc که اجازه اجرای IMalloc Interface رو میده که برنامه میتونه از مدیریت حافظه استفاده کنه.
    5-محتویات object1 رو با 0 مقدار دهی میکنیم.که در حقیقت نوعی initialize کردن این objectهست.
    6-Handle پنجره ی کلاس رو در این object قرار میدیم.
    7-میتونیم اسمی برای این پنجره انتخاب کنیم.
    8-نوبت به استفاده از SHBrowseForFolder میرسه.
    9-در آخر کار حافظه ایجاد شده رو آزاد میکنیم.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    میتونید از این برنامه در OnBnClick Event یک Button استفاده کنید.
    IDC_FOLDERPATHی StaticText هست که اسم وآدرس Folder انتخاب شده در اون برمیگرده.
    این ساده ترین روش برای نمایش این پنجره هست. امیدوارم توضیحات واضح باشن.
    هر جا نیاز به توضیح بیشتری بود اطلاع بدید.
    ممنون.
    Last edited by someone; 22-09-2006 at 20:05.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •