..:: مغز کامپیوتر ::..
کلید رهایی از تاریکی
درباره وبلاگ



مدیر وبلاگ : علی عبدیان
مطالب اخیر
نویسندگان
نظرسنجی
شما بیشتر به چه نوع مطلبی علاقه دارید ؟








لابد از اهمیت فوق العاده زیاد منوها در ویندوز مطلع هستید. منوها علاوه بر تنوع و زیبایی فرم‌ها، به شلوغ نشدن یك فرم توسط دكمه های زیاد نیز كمك می‌كنند.

برای درست كردن منو برای یك فرم از MenuEditor كه در منوی Tools قرار دارد استفاده می كنیم. همچنین MenuEditor یك دكمه فوری نیز بر روی میله ابزار استاندارد VB به شكل  دارد كه با كلیك بر روی آن نیز پنجره MenuEditor باز می شود. این پنجره مانند شكل 10 می باشد:

شکل 10

در پنجره مذكور كافیست عنوان منوی اول (مثلاMenu1) را در كادر Caption بنویسیم و مانند سایر objectهای VB به این منو هم یك نام (مثلاmnuMenu1) در كادر Name وارد كنیم. حال برای وارد كردن نام و عنوان منوی بعدی كافیست كلید Next را بزنیم. اما معمولا منوی بعدی، آیتمی از منوی قبلی خواهد بود. اگر كلید    را بزنیم، منوی جاری به عنوان زیر منوی قبلی محسوب خواهد شد. پس از وارد كردن اولین آیتم كافیست بوسیله دكمه Next آیتم های بعدی اولین منو را نیز وارد كنیم. اگر یكی از آیتم ها خود شامل زیر آیتم هایی بود باز هم می توان از كلید     سود برد. و بالاخره برای اینكه به سراغ منوی دوم برویم لازم است از كلید     به تعدادی استفاده كنیم كه دیگر زیرمنوی یك منوی دیگر نباشد و به همین ترتیب سایر منوها و آیتمها را نیز نامگذاری و عنواندهی میكنیم و ساختار مورد نظرمان را برای منوها ایجاد میكنیم.

لذا اگر منوها را در MenuEditor طوری وارد كنیم كه پنجره پایین MenuEditor مطابق آنچه در شكل 10 میبینید، شود، انتظار داریم در هنگام اجرا، فرمی شبیه آنچه در شکل 11 می بینید، حاصل شود:

شکل 11

توجه داشته باشید كه در MenuEditor علاوه بر آنچه تابه‌حال گفته شد:

• دكمه Delete برای پاك كردن یك منو (یا آیتم) استفاده می شود.

• دكمه Insert برای افزودن یك منو (یا آیتم) میان دو منو (یا آیتم) دیگر استفاده می شود

• Check Boxهای Visible و Enable به ترتیب اگر انتخاب نشده شوند، منوی مذكور دیده نمی شود و یا اینكه فقط غیرفعال (و به رنگ خاكستری) خواهد شد.

• Check Box با عنوان Checked اگر انتخاب شود، باعث خواهد شد تا كنار آن منو (آیتم) یك "چك‌مارك" دیده شود. (معمولا این مشخصه در Run Time و بر حسب نیاز تنظیم می شود)

• توسط Shortcut می توانیم یك میانبر (Shortcut) برای یكی از آیتم‌ها درست كنیم..

• توسط Index می توانیم آرایه ای از منوها را طراحی نماییم ( همانطوری که آرایه ای ازسایر کنترلها  درست می کردیم، یعنی باید نام دو یا چند منو را یک نام واحد بگذاریم و Index متفاوت به هریک بدهیم.)

• و توسط NegotiatePosition می‌توان نوع چیدن آیتم‌ها (راست چین، چپ چین، وسط چین) را تعیین نمود.

چند تذكر:

• برای دستیابی به مشخصه های منوها نیز مانند سایر كنترلها از نام آنها و یك نقطه(Dot) و سپس نام مشخصه مورد نظر استفاده می كنیم. مثلا اگر منویی به نام mnuOpen داشته باشیم و بخواهیم آن را غیرفعال و یا مارك‌دار نماییم به ترتیب از دستورات زیر استفاده خواهیم كرد:

mnuOpen.Enable = False

mnuOpen.Checked = True

• مشخصه WindowList در بحث MDI Forms خواهد آمد و از مشخصه HelpContentID نیز تنها زمانی كه یك فایل HLP داشته باشیم می‌توانیم استفاده كنیم.

• اگر بخواهیم بین دو آیتم از منویی یك خط جداكننده آورده شود (آنچه در ویندوز برای جداكردن بخشهای مختلف یك منوی خاص معمول است) كافی است بین آن دو آیتم، یك آیتم Insert نماییم، نام آن را یك نام دلخواه (مثلا mnuLine) و عنوان (Caption) آن را یك منفی (كاراكتر "-" یا اصطلاحا Dash) بگذاریم.

• اگر بخواهیم برای شی خاصی یك PopUpMenu طراحی كنیم (منوهای بازشونده‌ای كه وقتی بر روی شی كلیك راست شود از آن خارج می‌شود) كافیست یك منو (با آیتمهای مورد نظر برای آن) را طراحی كنیم (و حتی در صورت نیاز Visible آن را False كنیم) و در رویداد MouseDown از آن شی خاص، پس از اینكه شرط كردیم كلید زده شده كلید راست ماوس باشد (با استفاده از شرط برابری پارامتر Button از این رویداد با مقدار ثابت VbRightButton)، با استفاده از دستور PopUpMenu، نام منوی مورد نظر را فراخوانی می كنیم یعنی باید چنین داشته باشیم:

Private Sub controlName_MouseDown (Button As Integer,…)

          IF Button = VbRightButton Then

                   PopUpMenu mnuMenu1

          End IF

End Sub

كه بجای controlName نام آن كنترلی كه قرار است كاربر روی آن كلیك راست نماید و بجای mnuMenu1 نام آن منویی كه قرار است به صورت PopUp آورده شود را ذكر می كنیم.







نوع مطلب : برنامه سازی، 
برچسب ها :
لینک های مرتبط :
نظرات پس از تایید نشان داده خواهند شد.


آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
 
 
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic