آژانس هواپیمایی
pop up

چطور ميتونم دكمه يا پنجره اي رو غير فعال كنم؟؟

شروع موضوع توسط sylvester ‏24 نوامبر 2007 در انجمن Visual Basic 6

  1. sylvester

    sylvester Registered User

    تاریخ عضویت:
    ‏26 مارس 2007
    نوشته ها:
    489
    تشکر شده:
    54
    محل سکونت:
    ترکیه
    سلام به همه دوستان!
    من ميخوام با استفاده از توابع api كاري كنم كه مثلا دكمه 4 ماشين حساب ويندوزdisable بشه
    فكر كنم با دو تابع Enable Window و Find Window بايد سروكله بزنم. يه نگاهي هم به هلپه vb6 كردم. ولي باز نميتونم درست كدنويسي كنم. يه برنامه هم دانلود كردم به نام Showwin v 2.0 كه
    Classname , windowhandle , windowId و يه سري اطلاعات ديگرو معين ميكنه
    دوستان من چجوري ميتونم دكمه 4 ماشين حساب ويندوز را غيز فعال كنم با اين تواصيف؟؟
     
  2. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
    اول باید handler ماشین حساب رو پیدا کنی بعد تمامی childهاش رو با EnumWindow بگیرید و دکمه 5 و 4 رو پیدا کنید تا مخفیشون کنید.
     
  3. sylvester

    sylvester Registered User

    تاریخ عضویت:
    ‏26 مارس 2007
    نوشته ها:
    489
    تشکر شده:
    54
    محل سکونت:
    ترکیه
    ممنون دوست عزيز
    فقط اي كاش يه مثال عملي (مثل همين دكمه 4 ماشين حساب ويندوز) هم زده بودين كاملا مفهومي تر شه.
    من خودم موضوع را درك ميكنم ولي در نوشتن كد مربوطه گير كردم
     
  4. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
    شانس شما من امروز بیکارم ;)
     

    فایل های ضمیمه:

  5. sylvester

    sylvester Registered User

    تاریخ عضویت:
    ‏26 مارس 2007
    نوشته ها:
    489
    تشکر شده:
    54
    محل سکونت:
    ترکیه
    ممنون بلا جان! بازم به شانس من:D
    يه چيزه ديگه هم دوست داشتم ياد بگيرم
    در همين مثال چگونه ميتوان كاري كرد كه به جاي غير فعال شدن دكمه هاي 4 يا 5 رويداد كليك براي آنها اتفاق بيفتد
    يا مثلا رويداد كليك براي دكمه close ماشين حساب انجام بشه؟
    امكان چنين كاري هست!!!!:happy:
     
  6. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
  7. boxilink
  8. sylvester

    sylvester Registered User

    تاریخ عضویت:
    ‏26 مارس 2007
    نوشته ها:
    489
    تشکر شده:
    54
    محل سکونت:
    ترکیه
    ممنون دوست عزيز!
    من اين مطلب رو طوطي وار ياد گرفتم چون
    اين يكي دو روزه هر چي اين ور و اون ور سرچ كردم هيچ مدل ديگري از روش بكار گيري توابع
    Public Function EnumChildProc
    و
    EnumChildWindows
    پيدا نكردم. مثل اينكه فقط يك اصلوب خاص داره و نميشه روش مانور داد و به صورت هاي ديگري بكارش برد
    به قول معروف
    همينه كه هست ميخواي بخواه نمي خواي نخواه چكارت كنم ( نقل قول از طرف كامپايلر وي بي 6 بود):)
     
  9. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
    به این روش میگن subclass کردن. راه دیگه ای برای APIهایی که فانکشن callback دارن نیست. همه فانکشنهایی که callback دارن نهایتا میرسن به دستور addressof که باید یه تابع سراسری با مشخصات اون کال بک باشه. این enumchild هم اطلاعات رو کال بک میکنه و باید حتما ساب کلاسش کرد :}
     
  10. sylvester

    sylvester Registered User

    تاریخ عضویت:
    ‏26 مارس 2007
    نوشته ها:
    489
    تشکر شده:
    54
    محل سکونت:
    ترکیه
    شرمنده من باز يا مشكل برام پيش اومده
    در مورد مثال رويداد كليك من پريروز يه نمونه با خود كدهاي موجود در مثال درست كردم و خوب بود
    الان كه اومدم از كد مذكور تو برنامم استفاده كنم گيج شدم چي به چيه! و كار نميكنه برنامم.
    قربون دستت بلا جان! يه مثال ساده خودت بزن تا ما آماتور ها هم بتونيم حضمش كنيم
    مثال اين بابا پياز داغش زياده براي من!
    يه توضيح مختصري هم بدي كه ديگه عالي ميشه:blush:
     
  11. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,348
    تشکر شده:
    1,321
    محل سکونت:
    یه خورده اونورتر
    enum که hwndها رو میده دیگه. کافیه فقط چهار تا دستور پرس رو با sendmessage بفرستید بهش.
    اینجوری:
     

    فایل های ضمیمه:

  12. sylvester

    sylvester Registered User

    تاریخ عضویت:
    ‏26 مارس 2007
    نوشته ها:
    489
    تشکر شده:
    54
    محل سکونت:
    ترکیه
    خداييش خيلي كارت درسته رفيق.:)
    راستي چرا پي سي تولز دكمه تشكر ندلره:blink: