پرتال تخصصی کامپیوتر
مرجع مقالات شبکه و برنامه نویسی و دانستنی های کامپیوتری و مطالب آموزشی ، طراحی وب

بازدید : مرتبه
تاریخ : جمعه 21 اسفند 1388

فرض کنید یک image غیر مستطیلی دارید که می خواهید از آن بعنوان فرم برنامه تان استفاده کنید
۱ - تصویر فرم مورد نظرتان را طراحی کرده و با فرمت bmp ذخیره کنید . دقت نمایید که بایستی image خود را درون یک کادر مستطیلی قرار دهید که با یک رنگ با RGB مشخص رنگ آمیزی شده است :

۲ - یک فرم ویژوال بیسیک ایجاد کنید و خاصیت BorderStyle آنرا صفر نمایید .
3 - در متد Form Load بایستی image مورد نظر را به فرمتان assign کنید :


Me.picture=loadpicture(yourimagename)x
Me.width=Me.picture.width
Me.height=Me.picture.height


4 - سپس بایستی یک ناحیه از این image بسازید که نسبت به رنگ RGB ای که در بالا به آن اشاره کردم transparent باشد . اگر فرض کنیم این رنگ ، رنگ سیاه باشد ( r=0 , g=0, b=0 ) :



LRegion=MakeRgn(yourimagename,0,0,0)x



5 - حال بایستی ناحیه مشخص شده را بعنوان فرم برنامه تان قرار دهید :



call SetWindowRgn(Me.hwnd,LRegion,True)x



6 - یک ماژوال ایجاد کنید و خطوط زیر را در آن بنویسید :



Public Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Declare Function MakeRgn Lib "Region.dll" (ByVal FileName As String, ByVal R As Integer, ByVal g As Integer, ByVal b As Integer) As Long
Public Declare Function DeleteRgn Lib "Region.dll" (ByVal Region As Long)x
Global lRegion As Long


7 - در متد Form Unload عبارت زیر را قرار دهید :

Call DeleteRgn(LRegion)x

نکته ۱: بوسیله روتین زیر می توانید فرم خود را در وسط صفحه قرار دهید :



(Sub CenterForm(frm As Form
frm.Left = (Screen.Width - frm.Width) / 2
frm.Top = (Screen.Height - frm.Height) / 2
End Sub

امیدوارم خوشتان آمده باشد . تا مطلب جدیدتر خدانگهدار




طبقه بندی: پروژه برنامه نویسی،  ویژوال بیسیك،  سورس رایگان،  نمونه كار برنامه نویسی،  دانلود كتاب و جزوه رشته كامپیوتر، 
برچسب ها: پرتال تخصصی كامپیوتر، برنامه های ویژوال بیسیک، VB.6، طراحی،
دنبالک ها: پرتال تخصصی كامپیوتر،
ارسال توسط اسماعیل هاشمی
بازدید : مرتبه
تاریخ : جمعه 18 دی 1388

امروز می خواهم درباره ظاهر شدن منو وقتی که روی فرم یا هر چیز کلیک می کنیم ظاهر شود صحبت کنم .

خوب ابتدا توسط Menu Editor منو و تعدادی SubMenu (زیر منو) ایجاد کرده و خاصیت Visible منو (فقط منو) را غیر فعال میکنیم .

حالا فرض میکنیم که می خواهیم منو را برای هنگامیکه بر روی فرم راست کلیک کردیم ظاهر کنیم , کد زیر را در Event (ٍرویداد) MouseDown می نویسیم :

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   
   
'Button = 1 :::>>> For LeftClick
   
'Button = 2 :::>> For RightClick
    If Button = 2
Then
        PopupMenu MnuFile
    End
If
    
End Sub

توضیح : عبارت If Button = 2 Then یعنی این که اگر کلیک راست شد ، دستور Popup Menu mnufile اجرا می شود . اگر می خواهید کاربر وقتی کلیک چپ کرد ، این منو برای آن ظاهر شود ، از دستور If Button = 1 استفاده می کنیم .

توضیح 2 : MnuFile که توپر مشخص شده است ، نام منویی است که می خواهیم وقتی کاربر کلیک کرد ، ظاهر شود است .

حالا برنامه را Run کنید و بر روی فرم راست کلیک کنید می بینید که فرم ظاهر میشود

خوب شما می توانید منوی کلیک راست رو برای هر عنصری که رویداد MouseDown رو داره پیاده سازی کنید .




طبقه بندی: ویژوال بیسیك،  سورس رایگان،  رفع اشكال/سخت افزار / نرم افزار،  دانلود كتاب و جزوه رشته كامپیوتر، 
برچسب ها: MouseDown، ایجاد منو برای کلیک راست، ویژوال بیسیك، VB.6،
ارسال توسط اسماعیل هاشمی
آرشیو مطالب
صفحات جانبی
پیوند های روزانه
امکانات جانبی
لوگوی وب
درباره مدیریت وب