منو

mahmud319

Member
مثال

ممنون از تمام دوستان بخصوص اساتید که اینجا و تو این بحث وارد شدن:rose:
یه مثال ساختم ببینید! من نمیدونم کجاش درسته یا غلط ولی تا اینجا اون خواسته ی من رو بر آورده کرده ( اینکه با لمس شدن منو اصلی زیر مجموعه اول باز میشه و همین جور به ترتیب و با نرفتن بر روی آنها زیر مجموعه ها بسته میشه)

حالا
جلو شماره ا یک زیر مجموعه دیگه
جلو شماره2 یک زیر مجموعه دیگه
جلو شماره3 یک زیر مجموعه دیگه
میخواهم . ممنون میشم روی همین مثال باشه تا بدونم چی به چی شده.
 

پیوست ها

  • mesal.zip
    583 بایت · بازدیدها: 29
سلام
هرچند كه آتيشت خيلي تنده و خيلي عجله داري ولي من سعي خودمو كردم اميدوارم كه تونسته باشم با كمك به شما هم مشكل شما رو حل كنم و هم ذره اي از زحمات evil جان و آقا محمد رو كه خيلي واسم زحمت كشيدن جبران كنم.
آقاي گلم تا اينجايي كه من مثال شما رو ديدم زياد نيازي به كد نويسي نداشتي فقط بايد كمي از ترفندهاي بيلدر رو بكار ميگرفتي همين.
مثالي كه گذاشتي يه مشكل داشت اونم اينكه با بردن موس رو كليد منو زير منوها نمايش داده ميشن و اگه موس رو روي زير منوها نبري و همونجا از روي كليد منو كنار ببري بازم زير منوها به حالت نمايش باقي ميمونن.
كاري كه كردم اين بود كه اطراف كليد منو سه تا آبجكت HotSpot گذاشتم و توي اكشن اونها گروه رو مخفي كردم اين آبجكتها در هنگام اجراي پروژه نشون داده نميشن و با كنار كشيدن موس از روي كليد منو ناچارا موس روي يكي از اين سه آبجكت ميره و در نهايت گروه مخفي ميشه اين يه راه ساده اما كاربردي بود.
واسه بقيه زير منو ها الان نميتونم چون نصف شبه و اگه شد واست يه مثال خوب درست ميكنم و ميذارم چون يه كم نياز به كدهاي شو و هايد تو بخش اسكريپت داره و ديگه نميشه از اين ترفند براي اونا هم استفاده كرد.
 

پیوست ها

  • menu.rar
    600 بایت · بازدیدها: 24

mahmud319

Member
دقیقا و باز منتظریم

سلام:
مرسی دوستان عزیزم BEHESHT و sarbedaronline1چون یک تشکر بیشتر نمیشد بزنی اینجا میگم 10000000000 تا متشکرم. اما
مشکل دوم کماکان باقی است.
برای دوستانی که کل پست ها رو نخوندن میگم. مثال جدیدی که ساختم رو ببینید بعد اگر من بخوام تو منو اول رو یکی از زیر مجموعه ها برم و از اون زیر مجموعه به زیر مجموعه اون یکی برم باید چیکار کنم یعنی: اگه من برم توی مجمو عه آنتی ویروس و از اونجا برم پایین روی نود32 و بخوام کنار نود32 یک کلید باز بشه و بشه مثلا کدهای جدید(البته با نرفتن رو اون کلید خودش بعد از چند ثانیه بسته بشه و برای رفتن روی اون هم نخواهیم کلیک کنیم)

چیکار باید بکنم. ممنون میشم رو همین مثال برام کاملش کنید و بگید چون اینجوری بهتر میفهمم:rose:

کماکان جزء منظران هستیم:oops:
 

پیوست ها

  • mesal3.zip
    1.1 کیلوبایت · بازدیدها: 24
آخرین ویرایش:

evil_gates

اين نيز بگذرد ...
دوست عزيز
من كه تو پست قبلي عرض كردم براي حل مشكلتون چه كار كنيد. حتي كد مربوطه رو هم براتون نوشتم. لطفا به راهنماييها كمي با دقت نگاه كنيد.
 

mahmud319

Member
حل نشد

عزیز دلم من تمام مطالب رو خوندم اما به نتیجه ای نرسیدم این کدها رو هم وارد یک اسکریپ کردم error میده میتونید در عکس ببینید
به همین خاطر تایپیک رو ادامه دادم:shock:
 

پیوست ها

  • 4.JPG
    4.JPG
    43.6 کیلوبایت · بازدیدها: 5
آخرین ویرایش:

evil_gates

اين نيز بگذرد ...
اين مثال رو ببينيد دوست من
 

پیوست ها

  • show_hide_menu.zip
    1.1 کیلوبایت · بازدیدها: 31

mahmud319

Member
دقیقا

دست دوستان عزیزم درد نکنه.
دقیقا همینو میخواستم. تقدیم به evil_gates :rose::rose::rose::rose:
اما

خیلی پیچده هست. فهمیدم چی به چی هست
فکر کنم برای چندتا از اینجور چیزهایی تو یه صفحه درست کنی خیلی وقت میبره . اینطور نیست؟ یه دوست

پیشنهاد منو با منو میکرها رو داد که دارم به اونم فکر می کنم. حالا سوال پیش میاد:

چطور بعد از ساخت تو منو میکر بیارمش تو این برنامه mmb
و دیگه معمولا اینها خارجی و از چپ به راست هستن آیا راست به چپ هم میش؟:shock:

راستی میشه لطف کنید( به عنوان خواهش)
این دستورات که تو اسکریپ hide menu هست رو توضیح بدید. که هر خط یعنی چی؟
و اگه کلش رو که فکر نکنم چند دقیقه بیشتر وقت شما استاد گرامی رو بگیره توضیح بدید که دیگه نور علی نور میشه

بازم سپاسگزارم
 
آخرین ویرایش:

evil_gates

اين نيز بگذرد ...
کد:
obj$='menu_group'
اين خط نام گروه منو شما رو به يك متغير رشته اي ميفرسته.

کد:
x=ObjectX(obj$)
مختصات گوشه بالا و سمت چپ گروه رو از محور x ها يا همون عرض صفحه بر ميگردونه و تو متغير x ذخيره ميكنه.

(نكته مهم اين كه هميشه گوشه بالا و سمت چپ صفحه برنامه نقطه صفر محور مختصات فرضي در محاسبات شما در نظر گرفته ميشه. يعني گوشه بالا و سمت چپ برنامه هميشه x,y=0,0 خواهد بود. و هرچه از اين نقطه به سمت راست حركت كنيم به مقدار x ها اضافه ميشه يا هرچه به سمت پايين حركت كنيم به مقدار y ها اضافه خواهد شد.)

کد:
y=ObjectY(obj$)
مختصات گوشه بالا و سمت چپ گروه رو از محور y ها يا همون ارتفاع صفحه بر ميگردونه و تو متغير y ذخيره ميكنه.

کد:
w=ObjectWidth(obj$)
مقدار عرض گروه رو تو متغير w بر ميگردونه.

کد:
h=ObjectHeight(obj$)
مقدار ارتفاع گروه رو تو متغير h بر ميگردونه.

کد:
x1=x+w
اگه مقدار x (يا همون نقطه گوشه بالا و سمت چپ گروه از محور x ) رو با مقدار w يا همون مقدار عرض گروه جمع كنيم. مختصات نقطه گوشه بالا و سمت راست گروه از محور x ها بدست مياد.
اين خط مختصات نقطه دوم رو تو متغير x1 بر ميگردونه

کد:
y1=y+h
اگه مقدار y (يا همون نقطه گوشه بالا و سمت چپ گروه از محور y ) رو با مقدار h يا همون مقدار ارتفاع گروه جمع كنيم. مختصات نقطه گوشه پايين و سمت چپ گروه از محور y ها بدست مياد.
اين خط مختصات نقطه دوم رو تو متغير y1 بر ميگردونه

بنابراين x1,y1 با هم ميتونن مختصات گوشه پايين و سمت راست برنامه رو بدست بيارن و همراه با x,y محدوده كل گروه بدست مياد.

کد:
x_mouse=Mou***()
اين خط مختصات x محل ماوس رو از محور x ها بدست مياره و تو متغيري به نام x_mouse برميگردونه

کد:
y_mouse=MouseY()
اين خط مختصات y محل ماوس رو از محور y ها بدست مياره و تو متغيري به نام y_mouse برميگردونه

وقتي ما اين مختصات رو بدست آورديم بايد با يك شرط به برنامه بگيم اگه ماوس در محلي خارج از فضاي گروه قرار داشت منو ما رو مخفي كن.

يعني اگه موقعيت x ماوس از x گروه كوچكتر باشه يا از x1 گروه بزرگتر باشه. يا اگه موقعيت y ماوس از y گروه كوچكتر باشه يا از y1 گروه بزرگتر باشه پس نتيجه ميگيريم كه ماوس تو محدوده گروه قرار نداره.

کد:
If (x_mouse<x|x_mouse>x1|y_mouse<y|y_mouse>y1) Then
اين خط اين شرط رو بررسي ميكنه و ميگه از x_mouse از x كوچكتر بود يا x_mouse از x1 بزرگتر بود يا y_mouse از y كوچكتر بود يا y_mouse از y1 بزرگتر بود در اينصورت:
کد:
  Hide("obj$")
گروه ما رو مخفي كن.

کد:
  Show("first_key")
چون كليد اصلي ما هم تو اين گروه قرار داره و با مخفي شدن گروه اون هم مخفي خواهد شد پس بلافاصله با اين دستور مجددا كليد اصلي رو نمايش ميديم.

کد:
End
پايان عمليات شرط هست.

کد:
ScriptTimer("hidemenu_s","500")
اين خط دستورات موجود تو اين اسكريپت رو هر 0.5 ثانيه اجرا ميكنه. به اين معني كه هر 0.5 ثانيه برنامه يكبار موقعيت ماوس رو نسبت به شرط ما بررسي ميكنه و اگه ماوس تو محدوده تعيين شده گروه قرار داشت كه هيچ وگرنه گروه رو مخفي ميكنه.

موفق باشيد
 
آخرین ویرایش:

mahmud319

Member
بسیار

بسیار ممنونم:rose::rose::rose:.
شاید برای بار اول گیچ کننده و مبهم هست برام اما سعی می کنم بررسی کنم و دقیقا هر خط رو بفهمم.

راستی روشی راحت تر هم برای این کار هست؟ مثلا استفاده از نرم افزار هایی که این کارها رو انجام میدن.

شما بله شما که دارید این متن رو بخونید شما اگه میخواستید چنین کاری کنید از چه طریقی انجام می دادید؟(اسکریپ نویسی یا نرم افزارهای جانبی) با معرفی نرم افزار و لینک دانلود.
بسیار سپاسگزارم که تا اینجا با ما بودید و امید دارم با هم بتونیم هم به جوابی آسان و عالی برسیم و همه خودمان و دوستانمان در این علم متخصص تر شویم:green::oops:
 

evil_gates

اين نيز بگذرد ...
راحت تر از اين ميشه روش جناب sarbedaronline1 . شما بايد يك لايه HotSpot زير لايه منوهاتون و كمي بزرگتر از اندازه منو بسازيد و تو حالت MouseOver دستور مخفي شدن منو رو بديد.

كاربر تا زماني كه روي منو هست كه منو نمايش داده ميشه و وقتي هم كه ماوس رو به خارج از فضاي منو ببره چون ماوس از منطقه HotSpot شما عبور ميكنه دستور مخفي شدن اجرا ميشه.

البته اين روش يه مشكلي هم داره اونم اينكه اگه ماوس خيلي سريع كنار بره دستورات به درستي اجرا نخواهند شد.

موفق باشيد.
 

جدیدترین ارسال ها

بالا