PDA

View Full Version : یک اکتیویکس جالب برای شفاف‌سازی فرم



Morteza Manafpour
دوشنبه 07 دی 1383, 01:27 صبح
این هم هدیه من به دوستان

H_r_m
دوشنبه 07 دی 1383, 14:18 عصر
سلام
ممنون اقا مرتضی :تشویق:

M-Gheibi
دوشنبه 07 دی 1383, 16:24 عصر
البته نیازی به نیست:


Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA = &H2
Private Const WS_EX_LAYERED = &H80000

Public Function Transparent(ByVal hwnd As Long, Perc As Integer) As Long
Dim Msg As Long
On Error Resume Next
If Perc < 0 Or Perc > 255 Then
Transparent = 1
Else
Msg = GetWindowLong(hwnd, GWL_EXSTYLE)
Msg = Msg Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, Msg
SetLayeredWindowAttributes hwnd, 0, Perc, LWA_ALPHA
Transparent = 0
End If
If Err Then
Transparent = 2
End If
End Function

Private Sub Form_Activate()
Transparent Form1.hwnd, 1000
End Sub

H_r_m
دوشنبه 07 دی 1383, 19:46 عصر
سلام
ممنون مسعود جان :تشویق:
ولی ببخشید ها میخوام یه خورده فضولی کنم :flower:
هر کدومشون یه ایراداتی داره
مال اقا مرتضی موقع جابجایی فرم پس زمینه دیده نمیشه :oops:
مال شما اقا مسعود این عیب رو نداره ولی سرعت جابجایی پایینه :oops:
ببخشید که ایرادات رو میگم اخه با انتقاده که یه کار به هدف میرسه :wise2:

M-Gheibi
دوشنبه 07 دی 1383, 19:54 عصر
ببخشید که ایرادات رو میگم اخه با انتقاده که یه کار به هدف میرسه
شکی نیست. من خواستم کدش رو بگم :wink:

mohsengrisly
دوشنبه 07 دی 1383, 20:01 عصر
آقا اینو ببینید حالشو ببرید . :mrgreen:
خودم هم از یکی دیگه گرفتما . :embr:
یادم نیست کی ولی باز دستش درد نکنه :D