PDA

View Full Version : ترسیم در vb



samanvb
جمعه 19 مرداد 1386, 17:20 عصر
چطور روی فرم بتوانیم مثل ابزار نقاشی ویندوز اشکال رسم کنیم یا نقاشی بکشیم
برای این که روی فرم بتوانیم نقاشی بکشیم باید کد های زیر را به فرم اضافه کنیم
Dim a As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
CurrentX = X
CurrentY = Y
a = True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If a = True Then Line -(X, Y)
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
a = False
End Sub
خوب اگر روی فرم کلیک چپ موس را بزنیم و موس را حرکت بدهیم می بینیم که مانند مداد روی فرم عمل
که می توانید شما نقاشی کنید
اگه می خاین پهنای خطهای که با موس می کشید بیشتر شود و یا مداد کلفت تری داشته باشین کد زیر را نیز به فرم اضافه کنید
Private Sub Form_Load()
Form1.DrawWidth = 10
End Sub
میتولنید به جای 10 عدد بالا تری هم قرار دهید
فایلشو در زیر قرار میدهم .

Danial_Yousefi
جمعه 19 مرداد 1386, 18:22 عصر
سلام خوبی به نظرم کد ها تو تو تگ کد بذاری بهتر باشه (دکمه با آیکون #) مثل این

Dim a As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
CurrentX = X
CurrentY = Y
a = True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If a = True Then Line -(X, Y)
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
a = False
End Sub

Private Sub Form_Load()
Form1.DrawWidth = 10
End Sub

Danial_Yousefi
جمعه 19 مرداد 1386, 18:28 عصر
و بعد از راهنماییت ممنون ولی این کد فکر کنم بهتر باشه



Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

me.CurrentX = X
me.CurrentY = Y

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

if button=1 Then me.Line -(X, Y)

End Sub


Private Sub Form_Load()

Form1.DrawWidth = 10

End Sub