برنامه نویسی - شبکه

ویژوال بیسیک و دلفی-Network

برنامه نویسی - شبکه

ویژوال بیسیک و دلفی-Network

فصل ششم: منو ها

همانگونه که در بخشهای قبلی مشاهده نمودید ما به معرفی چند کنترل پر کاربرد و همچنین نحوه کدنویسی در ویژوال بیسیک بصورت خیلی ساده و ابتدایی پرداختیم. 

حال نوبت به شروع به کار اصولی در ویژوال بیسیک هستیم.

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

برای درست کردن منو برای یک فرم از آدرس زیر می توانیم استفاده نماییم:

Tools\MenuEditor

همچنین می توان با راست کلیک روی صفحه فرم و انتخاب گزینه منو نیز به آن دسترسی پیدا نمایید.این پنجره مانند شکلی که در زیر مشاهده می نمایید می باشد 

Image and video hosting by TinyPic 

 

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

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

Image and video hosting by TinyPic 

 

توجه داشته باشید که در 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 آورده شود را ذکر می کنیم.

نظرات 5 + ارسال نظر
امیر شنبه 23 آذر‌ماه سال 1387 ساعت 08:38 ب.ظ http://amir-perspolisi.blogsky.com/

سلام وبلاگ خیلی زیبایی داری ممنون میشم به وبلاگ منم سر بزنی فقط نظر یادت نره میدونستی که وبلاگت معدن طلاست؟چرا نمیخوای از وبلاگت علاوه بر تفریحی بودنش استفاده مالی بکنی؟ آیا میدونستی از طریق وبلاگت میتونی درامد ثابت ماهیانه داشته باشی و حتی اگه خودتم نخواستی فعالیت کنی از طریق زیرمجموعه هات که تو سیستم عضو میکنی ماهیانه در آمد ثابت داشته باشی؟اینا اصلا کاری نداره و چند دقیقه بیشتر وقتتو نمیگیره.با گذاشتن بنرهای تبلیغاتی سیستم اکسین ادز به ازای هر کلیک که روی تبلیغاتت بشه تا سقف 70 تومان پورسانت میگیری و به ازای هر نفر که به سایت دعوت کنی مبلغ 100 تومان پورسانت میگیری و به ازای هر کلیک که رو تبلیغات زیر مجموعه هات بشه مبلغ 5 تومان پورسانت میگیری.این عالی نیست؟تازه اگرم نخواستی این فعالیت ها رو بکنی میتونی فقط عضو سایت بشی و از ابزار وبمستر فوق العاده سایت برای زیبایی سایت و افزایش آمار بازدیدهای وبلاگت استفاده کنی.که کاملا رایگانه مثل سیستم تبادل لینک و پیلم نما و خبرنامه . میتونی هر روز خودت 1 بار روی تبلیغات متنی و روی تبلیغات گرافیکی وبلاگت کلیک کنی و پورسانتشو گیری.حالا اگه تصمیم گرفتی تا عضو سایت بشی از طریق لینک زیر میتونی اینکارو بکنی: http://www.oxinads.com/?a=2216

امیر یکشنبه 1 دی‌ماه سال 1387 ساعت 09:37 ب.ظ http://amir-perspolisi.blogsky.com/

سلام
خسته نباشید
خوب هستی که
ما یه برنامه واسه افزایش در امد داریم من را اد کن تو مسنجرت نذاشتی این کار را زود تر بکن
سوالی داشتی در خدمتم
فعلا خدا حافظ

امیر دوشنبه 9 دی‌ماه سال 1387 ساعت 04:23 ب.ظ http://amir-perspolisi.blogsky.com/

سلام
من را که یادت هست
وبلاگ رسمی هواداران پرسپولیس
همون که از طریق اون تو اکسین ادز عضو شدی
من یه برنامه دارم که من روی تبلیغات شما کلیک میکنم وشما بالعکس
در صورت همکاری شما من یه ۳۰ نفری زیر مجموعه دارم که اونها را به شما معرفی میکنم
وشما با روزی۳۰دقیقه کار کردن با اینترنت حداقل ماهی ۳۰-۴۰ تومن در میاری
فقط باید حد اقل هفته ای ۳ روز بیای اینترنت
فکراتو بکن بعد من را در جریان بزار
الان هم روی تبلیغات کلیک کردم
گوود بای

مرتضی پنج‌شنبه 24 بهمن‌ماه سال 1387 ساعت 07:35 ب.ظ http://vibi.blogsky.com/

سلام،ممنون از بازدیدت از وبلاگم.منم برات آرزوی موفقیت دارم.

محسن یکشنبه 27 تیر‌ماه سال 1389 ساعت 08:42 ب.ظ

سلام.وبلاگ شما خیلی عالی هستوممنون میشم اگه منو راهنمایی کنید.میشه کاربرد هر یک از دکمه های تول بوکس در ویژوال بیسیک ۶ را بهم بگید.ممنون میشم که بهم ایمیل کنید..
منتظر میمونم.خواهشا ......
بازم ممنون

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد