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

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




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

نام تاپيک: چند سوال از ++vc

  1. #1
    اگه نباشه جاش خالی می مونه mehdicracker's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    in air
    پست ها
    331

    14 چند سوال از ++vc

    سلام

    یه چند تا سوال داشتم که اگر جواب بدید ممنون می شم .

    1- ایا api برای sidebar کردن یک دیالوگ وجود داره .؟؟؟؟؟؟؟
    منظورم اینه که دریچه اصلی بر نامه بره بالای صفحه و هر وقت موس رفت بالای صفحه این دیالوگ بیاد پایین .
    می شه مثل برنامه virtual cd که یه toolbar داره .
    یا همین taskbar ویندوز رو در نظر بگیرید . وقتی auto hide می کنید چه جوری میشه .


    2 - چه جوری یه ایکون رو روی یه button در یه دیالوگ set کنیم
    منظورم اینه که یه دکمه داریم که خاصیت icon بهش می دیم
    حالا چه جوری این ایکون رو روش set کنیم .

    همین .
    ممنون

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

    پيش فرض

    سلام.
    1-در مورد سوال اولتون بشتر توضیح بدید. می خواید یک Dialog داشته باشید و یک menu به شکل sidebar؟
    یا منظورتون چیز دیگه ای هست.

    2-برای Set کردن یک Icon روی Button از کد زیر میتونید استفاده کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگه از VC6.0 استفاده میکنید از LoadIcon استفاده کنید و نیازی به استفاده از ()T_ نیست.

  3. #3
    اگه نباشه جاش خالی می مونه mehdicracker's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    in air
    پست ها
    331

    پيش فرض

    سلام
    ممنون از اينکه جواب داديد
    مشکل Set icon حل شد با کمک شما
    البته من مي خواستم يه icon از داخل يه فايل ديگه set کنم که از Extracticon
    استفاده کردم
    راجب به سوال side bar هم :
    نمي دونم تا حالا virtual cd 7 رو نصب کرديد يا نه
    ولي همراه برنامه که اجرا مي شه
    يه side bar مي ياد کنار صفحه مثل side bar vista
    ولي هر از چند ثانيه ايي مي ره گوشه صفحه و وقتي که موس رو ميبريم به کنار صفحه
    دوباره ظاهر مي شه
    من هم مي خوام ديالوگ اصلي بر نامه رو به همين صورت در بيارم

    بعد 2 تا سوال ديگه هم برام پيش اومده
    1- شما حساب کنيد که چند تا regqueryvalueex پشت سر هم داريم
    وقتي اولين اين ها رو استفاده مي کنيم بر فرض يه ادرس رو مي بره به بافر
    خب براي دومين api يه ادرس ديگه رو مي بره به بافر
    ولي براي سومين api ديگه ادرس رو نمي بره به بافر و error مي ده
    يعني مقدار بر گشتي تابع EA است که مي گه يه همچين مقداري داخل بافر است
    حالا سوال من اين جاست که وقتي از اولين regqueryvalue استفاده کرديم
    و ادرس رو برامون از داخل ريجستري در اورد و بعد از استفاده از مقدار ريجستري
    چه کار کنيم که بافر خالي بشه و براي api بعدي اماده بشه

    2-هر برنامه اي که باز مي شه يه قسمتي در taskbar هم براش ايجاد مي شه
    حالا ما اگر نخوايم اين قسمت درست بشه چي کار بايد بکنيم
    مثل اين عکس .

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

    پيش فرض

    دوباره سلام.
    درباره sidebar که شما میخواین دقیقا نمیدونم که Interface ی وجود داره یا نه. اما در مورد ساختش روش
    ساده ای وجود داره.
    کافیه شما با تغییر position Dialog این کار رو انجام بدید. با استفاده از این API:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ابتدا یک Dialog ایجاد کنید به عنوان sidebar. و اون رو به محلی که میخواید منتقل کنید.در MouseMove Event
    مقداری Dialog رو shift بدید و وقتی که Focus از روش برداشته میشه دوباره به حالت قبل برگردونیدش.
    یک نمونه خیلی ساده براتون میذارم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ----------------------------------------------------------------
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ---------------------------------------------------------------

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نمونه ای نوشتم به شکل زیر دیده میشه :

    و.....




    البته همونطور که مشخصه چون از Sleep استفاده شده حرکت پنجره دیده میشه.
    (به جای for بهتره از Thread استفاده بشه)

    اما در مورد 2 تا سوالتون:
    1- در مورد خالی کردن بافر میتونید از memset و یا ZeroMemry استفاده کنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اما به نظرم نباید براتون چنین مشکلی پیش بیاد. اگه کدتون و مقادیر کلیدها رو میذاشتید
    بهتر میشد راجع بهش صحبت کرد.

    2- Interface ی وجود داره به نام ITaskbarList که میتونید ازش استفاده کنید.
    یک pointer به این Interface ایجاد میکنید و بعد با استفاده از CoInitialize یک COM Lib رو init میکنید
    وبا استفاده از CoCreateInstance میتونید از این pointer استفاده کنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


  5. #5
    اگه نباشه جاش خالی می مونه mehdicracker's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    in air
    پست ها
    331

    پيش فرض

    سلام
    ممنون از اینکه وقت گذاشتید .
    در رابطه با sidebar این روش ابتکاری و جالبی هست و لی
    دیالوگ من تشکیل شده از 14 . button و نمی تونم به صورت افقی درش بیارم و می خوام که به صورت
    عمودی باشه که البته فکر کنم با تغییر مختصات بشه این کار رو کرد
    البته این روش رو می خوام بزارم برای اخرین راه
    برای ساختن Sidebar فکر می کنم که اصلا یه برنامه مخصوص وجود داره
    چون من virtual cd 7 رو نصب کردم و تمام توابع مربوط به sidebar رو در یه dll پیدا کردم
    وبعد دیدم که این dll کلا چیز خیلی جالبی است
    مثل اینکه این dll از یه برنامه جدا مشتق شده که مثلا می تونید انتخاب کنید که کدام دیالوگ به صورت sidebar
    در بیاد . زمانش چقدر باشه و خیلی چیزهای دیگه.
    فکر می کنم باید بگردم دنبال این برنامه.( ولی بازم از شما ممنون هستم )
    در مورد 2 سوال دیگه هم اول که بافر پاک نشد مشکل از کد من هست نمی دونم ولی بازم نشد
    من یه تکه از کد رو برای شما می زارم که اگر اشکالی بود لطف کنید و بگید .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    این تکه کد قرار اسم هایی رو از ریجستری بخونه و Set کنه روی button های مورد نظر
    و یا این کد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    این کد هم قرار اگر ادرسی در ریجستری بود اون رو بده ExtractIcon و ایکون مورد نظر set بشه
    روی button مورد نظر
    که روی 2 تا از button ها ایکون نمی افته و بقیه اش هم از قسمت RegQueryValueEx
    همون error قبلی می ده و دیگه هیچ کدوم از شرط ها هم برقرار نمی شه
    حتی اگر برای هر کدوم از قسمت ها یه RegOpenKeyEx و RegCloseKey بزارم هم بازم کار نمی کنه
    در مورد سوال دوم هم مطمئن هستم که کار می کنه
    ولی اگر دوباره مشکلی پیدا کردم بازم مزاحمتون می شه

    بازم ممنون

  6. #6
    اگه نباشه جاش خالی می مونه mehdicracker's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    in air
    پست ها
    331

    پيش فرض

    سلام
    لینک این برنامه رو پیدا کردم
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    مثل اینکه برای کلاس mfc هست
    البته هنوز تستش نکردم
    ولی خبرش رو بهتون می دم

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

    پيش فرض

    دوباره سلام.
    خواهش میکنم کاری نکردم. اتفاقا مسئله ی جالب هست و منم پی گیرشم.
    در مورد کد اول به نکته ای برخوردم.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برای برگردوندن طول بافر دوبار از این کد استفاده کردید. البته درسته. ولی در بعضی از موارد.
    "اگه طول بافر کوچیک باشه مقدار برگشتی این تابع برابر با طول بافر هست."
    ولی بهتره از این تابع استفاده کنید :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در حقیقت همون strlen هست البته برای کاراکتر های Unicode.
    دومین نمونه ای که گذاشتید رو تست کردم. کاملا صحیح کار کرد. تنها سوالی از شما دارم.
    در مورد HINSTANCE hinst که در کد استفاده کردید. hinst رو کجا Init میکنید؟
    من در کدتون از AfxGetModuleHandle استفاده کردم. hinst باید یک Handle به یک Module باشه.
    کجا از این Module استفاده کردید؟ (مثلا یه Dll )
    راستی error ی که براتون پیش میاد رو ممکنه بذارید.
    ممنون.

  8. #8
    اگه نباشه جاش خالی می مونه mehdicracker's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    in air
    پست ها
    331

    پيش فرض

    سلام
    دوباره ممنون someone جان
    از wcslen استفاده کردم کار نکرد ولی از کار نکرد
    چون من از ascii استفاده کردم و strlen استفاده کردم و کار کرد


    دومین نمونه ای که گذاشتید رو تست کردم. کاملا صحیح کار کرد. تنها سوالی از شما دارم.
    راستش منظور شما رو درست نفهمیدم که گفتید کار کرد
    یعنی روی 4 تا button که ادرسش از داخل ریجستری خونده می شه ایکون افتاد یا همون ایکون error که پیش فرض گذاشتمش
    چون مال من 2 تا ایکون اولی Set می شد ( البته پیش فرض ) و بقیه ی ایکون ها خالی بود و هیچ اتفاقی نمی افته

    در مورد HINSTANCE hinst که در کد استفاده کردید. hinst رو کجا Init میکنید؟
    من در کدتون از AfxGetModuleHandle استفاده کردم. hinst باید یک Handle به یک Module باشه.
    کجا از این Module استفاده کردید؟ (مثلا یه Dll )
    اگر می شه بیشتر توضیح بدبد


    راستی error ی که براتون پیش میاد رو ممکنه بذارید.
    راستش من از برنامه های کرک برای پیدا کردن این error ها استفاده می کنم
    منظورم مقادیر برگشتی توابع است
    من شماره error رو می گیرم و داخل error lookup این مقادیر رو پیدا می کنم
    مثل شکل زیر :

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

    پيش فرض

    دوباره سلام.
    خواهش میکنم.
    جدی!!؟ مگه بافر شما نوعش TCHAR نیست!؟
    ----------------------------------------------------------------------------------
    اول در مورد Error ی که براتون پیش اومده باید بگم که طول بافرتون کافی نیست. یعنی مقداری که
    قرار توش بریزید طولش بیشتر از اندازه ی بافرتون هست.
    طولش رو بیشتر کنید. ( مثلا 1024 ) مشکل حل میشه.
    ----------------------------------------------------------------------------------
    در مورد ExtractIcon که شما ازش استفاده کردید آرگومان اول یک Handle به یک Module (یک فایل exe و یا Dll)
    هست(HINSTANCE) که میخواید Icon ها رو از اون استخراج کنید. hinst یک handle به این module باید باشه.
    (مثلا با استفاده از LoadLibrary ). استفاده از AfxGetModuleHandle این Handle رو به خود برنامه Set میکنه.
    ----------------------------------------------------------------------------------

    منتظر نتیجه هستم.
    موفق باشین.

  10. #10
    اگه نباشه جاش خالی می مونه mehdicracker's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    in air
    پست ها
    331

    پيش فرض

    سلام
    ممنون از اینکه جواب دادید someone جان
    چرا نوع بافر من TCHAR هست
    ولی کار نکرد . شاید این تابع unicode
    رو ساپورت نمی کنه
    ==========================
    کردم .نشد
    شاید بخاطر اینه که همه به یه جا ادرس دهی شدن
    یعنی بافرشون یکی است یعنی همین NumofBut
    البته نباید اینجوری باشه
    چون باید data ها replace بشوند
    ولی نشد
    =========================
    منظورتون این جوریه
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    البته اینو برای SHELL_NOTIFYICON
    نوشتم

    می گم someone جان وقت داری یه برنامه برای کرکر ها رو بنویسیم
    یعنی تکمیلش کنیم
    چون خودم نصفشو نوشتم
    مونده همین کار هاش ؟؟؟؟؟؟؟؟؟

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

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

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