آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

فرمهایی بصورت یک نوشته

سلام
 
امیدوارم که درسهای قبلی بدردتون خورده باشه . امروز میخوام آموزش بدم چطوری فرمهایی با اشکال دلخواه ساخت .
 
آموزش فرم امروز ما به شکل یک نوشته است . روشی که امروز یاد خواهید گرفت به شما این امکان را خواهد داد که بتوانید فرمهایی با اشکال پیچیده بسازید .
 
در توابع API مفهومی به نام Path وجود دارد که در توابع ترسیمی ازآن استفاده می شود . برای ایجاد یک Path از دستورBeginpath  استفاده می کنیم .توابعی که برای این کار استفاده می کنیم عبارتند از :
 
1-  Textout -۲ Roundrect 3- Ellipse   ۴-  Rectangle 5 – Lineto
 
6 - Beginpath  7 – StrokeAndfillpath 8 – PathToRegion
 
۹ –  Setwindowrgn  10- Endpath
 
که پس از استفاده از توابع ترسیمی بایستی از عبارت Endpath استفاده کرد . در ضمن نحوه Declare کردن آنها را هم در زیر آورده ام.
 
برای اینکه منظورم را متوجه بشوید سورس یک برنامه را براتون مینویسم .
 
 
 
ابتدا این کدها را در ماژول کپی کنید.
 
 
 
Public Declare Function RoundRect Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
 

Public Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
 

Public Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
 

Public Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
 

Public Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
 

Public Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
 

Public Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
 

Public Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
 

Public Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
 

Public Declare Function StrokeAndFillPath Lib "gdi32" (ByVal hdc As Long) As Long
 

 
 
 
 
حالا این کدها را در فرمتون کپی کنید .
 
 
 
 
 
Dim m_drag As BooleanDim px As LongDim py As Long
 
Private Sub Form_Load()Me.ScaleMode = vbpixelsevba_drawpathStrokeAndFillPath hdc
 
vba_drawpathrgn = PathToRegion(hdc)
 
SetWindowRgn hWnd, rgn, TrueEnd SubPrivate Sub vba_drawpath()Me.DrawWidth = 2Me.BackColor = RGB(5, 255, 255)Me.FillStyle = vbDiagonalCrossMe.FillColor = RGB(240, 190, 100)
 
Me.FontName = "Arial black"
 
BeginPath hdc
 
Me.FontSize = 30TextOut hdc, 0, 0, "bitajavan", 10
 
Me.FontSize = 55TextOut hdc, 40, 25, "@", 1
 
Me.FontSize = 30TextOut hdc, 100, 35, "blogfa.com", 10RoundRect hdc, 30, 48, 400, 91, 10, 10
 
Me.Font.Italic = TrueMe.Font.Size = 10TextOut hdc, 100, 90, "b i j a n _ h o t 2 0 0 3 @ y a h o o . c o m . ", 46EndPath hdcEnd Sub
 
Private Sub form_mousedown(button As Integer, shift As Integer, x As Single, y As Single)Select Case buttonCase vbRightButtonUnload MeCase vbLeftButtonm_drag = Truepx = xpy = yEnd SelectEnd Sub
 
Private Sub form_mousemove(button As Integer, shift As Integer, x As Single, y As Single)If Not m_drag Then Exit SubMe.Move Me.Left + (x - px), Me.Top + (y - py)
 
End Sub
 
Private Sub form_mouseup(button As Integer, shift As Integer, x As Single, y As Single)m_drag = FalseEnd Sub
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد