با سلام به اساتید و دوستان گرامی،
من دو تا سوال داشتم:
1- چه طوری ميشه گوشه های فرم را دایره ای کرد؟ و بالای فرم را مثل شکل زیر به رنگ دلخواه در آورد؟
اگر ocx خاصی دارید معرفی کنید لطفا!
2-چه طور میشه یه فولدر را با تمام فایل های داخلش دانلود کرد؟
با تشکر
بد نبود يكي جواب مي داد!
:cry: :cry: :cry:
بر گرفته از afshinvblog نوشته است:برای اینکه فرمهایی غیر چهار گوش مثل فرم ياهو مسنجر جديد درست کنید ابتدا باید شکل فرمتون رو روی یک Bmp
طراحی کنید و تمام قسمتهایی که میخواهید در فرم نشان داده نشود ( مثل گوشه های فرم ) به یک رنگ مشخص و
خالص در آورید .... این اولین قدم
اما بعد از این کار باید خاصیت BorderStyle فرمتون رو None کنید یا در حالتی قرار دهید که فرم دارای Title bar نباشد.
حالا عکسی که برای فرم طراحی کردید رو روی فرم قرار بدهید (form1.Picture )
بعد از این کار شما باید توسط توابعی قسمتهای مشخص شده فرم را حذف کنید ... اما من یک نمونه ocx خوب و جالب
رو براتون آپلود کردم که فقط با تعیین رنگ ناحیه مشخص میتونید فرمهای غیر استاندارد و دلخواه خودتون رو ایجاد کنید .
بعد از اینکه این فایل رو دانلود کردید و اون رو نصب کردید از قسمت Components در vb گزینه
Connetica Irregular Form Shaper Control رو پیدا کنید و اون رو فعال کنید ... این Component رو روی فرم قرار
بدهید و در قسمت Propertise این ocx و در قسمت Custom خاصیت Transparentcolor رو به رنگ مورد نظر که
در طراحی فرم برای گوشه ها انتخاب کردید تعیین کنید ... بهتره این رنگ رو سفید یا سیاه خالص در نظر بگیرید ...
در مورد BorderStyle هم پیشنهاد میکنم در حالت None قرار بدهید چون نتیجه بهتری میگیرید ...
حالا ممکنه براتون سوال پیش بیاد که چطور فرم بدون Title bar رو حرکت بدید ...
اولا" این ocx این کار رو هم انجام میده ( پیش فرض ) ... یعنی شما هر قسمت فرم رو که Drag کنید میتونید فرم رو
جابجا کنید ولی مطمئنا" شما نمیخواید همه جای فرم این خاصیت را داشته باشد و احتمالا" میخواهید یک قسمت خاص فرم به عمل Drag واکنش نیان دهد و یا حتی خودتان یک Title bar گرافیکی مثل ياهو مسنجر جديد طراحی کنید ...خوب برای این کار باید یک عنصر Image روی فرم ( قسمت مورد نظر خودتون ) قرار بدهید و کدی که بهتون
میگم رو برای اون بنویسید !!! ولی قبل از این کار باید در قسمت Propertise اینocx ( Irregform) و در قسمت
Custom در منوی General تیک مربوط به Allow automatic form Dragging رو غیر فعال کنید ...
با این کار فرم غیر قابل حرکت میشه .... حالا خودتون برای حرکت فرم کد زیر رو بنویسید ...
ابتدا در قسمت General برنامه :
Dim MOVING As Boolean, MX&, MY&
سپس :
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MOVING = True
MX = X: MY = Y
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
If MOVING Then
Me.Left = Me.Left + X - MX
Me.Top = Me.Top + Y - MY
End If
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MOVING = False
End Sub
خوب به همین راحتی ... این کد رو میتونید برای خود فرم یا هر عنصر دیگه و برای حرکت خود فرم و یا حرکت عناصر روی فرم بنویسید ...
در مورد توضیح این کد هم که فکر نمیکنم زیاد پیچیده باشه که نفهمید فقط یه توضیح اینکه از متغیر MOVING برای این
استفاده شده که بفهمیم در حالت حرکت موس دکمه موس پایین نگه داشته شده یا بالا است که فقط در صورتی که
دکمه موس پایین بود فرم Drag شود ...
فايشو از اينجا دانلود كنين
http://www.geocities.com/afshinafshin61/Irregform.zip
سوال دوم هم نمي دونم تو vbcode يه سرچ بزن :!:[url][/url]