PDA

View Full Version : حرفه ای: Transparent کردن فرم بدون Transparent شدن اشیاء موجود بر روی فرم



kitcat_m18
سه شنبه 20 دی 1390, 23:21 عصر
سلام،
من می خوام تو یه فرم یه عکس رو به عنوان فرمم قرار بدم (مثلا یه دایره)
بعد عکس رو 50 درصد Transparent کنم
منتها وقتی اینکارو می کنم اشیاء روی فرمم هم Transparent میشن
چند تا سورس نگاه کردم اما هر کدوم ایراداتی داشته.

چند وقت پیش هم یکی از بچه ها یه تاپیک در زمینه فرم لاگین شیشه ای زده بود و یه فرم لاگین زیبای شیشه ای توش گذاشته بود کسی آدرسش رو داره به من بده؟؟؟

با تشکر :لبخندساده:

reza erfani
چهارشنبه 21 دی 1390, 01:51 صبح
دوست من دنبال کنترل AlphaImageControl بگرد تو همن سایت هم هست اگه پیدا نکردین بگید بزارم :)

kitcat_m18
یک شنبه 25 دی 1390, 14:28 عصر
من با این کنترل آشنایی دارم،
اما من دنبال یه Splash زیبا می گردم که بالاخره تونستم پیداش کنم.
یادم بمونه با Sample برای دوستان می ذارم تا استفاده کنن.

good_boy
سه شنبه 27 دی 1390, 19:21 عصر
آقا پس چی شد بزار دیگه؟
محض یاد آوری

IamOverlord
سه شنبه 27 دی 1390, 19:39 عصر
برای این که فقط PictureBox رو Transparent کنی:
1. یه HScrollBar بذار با یه PictureBox
2. این کد رو بنویس:

Private Declare Function AlphaBlend Lib "msimg32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal widthSrc As Long, ByVal heightSrc As Long, ByVal dreamAKA As Long) As Boolean
Dim nBlend As Long

Private Sub Form_Load()
Me.AutoRedraw = True
HScroll1.Max = 255
With Picture1
.ScaleMode = 3
.Visible = False
.AutoRedraw = True
.AutoSize = True
End With
End Sub
Private Sub HScroll1_Scroll()
nBlend = vbBlue - CLng(HScroll1.Value) * (vbYellow + 1)
Me.Cls
AlphaBlend Me.hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, nBlend
End Sub