loads
یک شنبه 11 دی 1384, 12:51 عصر
سلام
آیا کدی هست که بشه یه رنگ بخصوصی رو از روی فرم حذف و اونو به صورت TRANSPARENT در آورد
حتی اگر خود فرم باشه
متشکرم از همه
حامد مصافی
دوشنبه 12 دی 1384, 00:21 صبح
Rem Hamed Masafi
Rem Ineed:
' No Module !
Option Explicit
Private Const GWL_EXSTYLE = -20
Private Const LWA_COLORKEY = 1
Private Const LWA_ALPHA = 2
Private Const WS_EX_LAYERED = &H80000
Const WS_EX_NOINHERITLAYOUT = &H100000
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
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 cKey As Long, _
ByVal bAlpha As Long, _
ByVal dwFlags As Long) As Long
Public Sub Transpart(hWnd As Long, ByVal TranspartLevel As Byte)
Dim OldLong As Long
OldLong = GetWindowLong(hWnd, GWL_EXSTYLE)
Call SetWindowLong(hWnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYERED Or WS_EX_NOINHERITLAYOUT)
Call SetLayeredWindowAttributes(hWnd, 0, TranspartLevel, LWA_ALPHA)
End Sub
Public Sub ColorKey(hWnd As Long, lColor As Long)
Dim OldLong As Long
OldLong = GetWindowLong(hWnd, GWL_EXSTYLE)
Call SetWindowLong(hWnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYERED Or WS_EX_NOINHERITLAYOUT)
Call SetLayeredWindowAttributes(hWnd, lColor, 0, LWA_COLORKEY)
End Sub
Public Sub FadeForm(frm As Form, _
Optional FadeIn As Boolean = True, _
Optional Speed As Byte = 1)
Dim I As Long
frm.Enabled = False
frm.Visible = True
If FadeIn Then
Transpart frm.hWnd, 0
For I = 0 To 255 Step Speed
DoEvents
Transpart frm.hWnd, I
Next
Else
For I = 255 To 0 Step -Speed
DoEvents
Transpart frm.hWnd, I
Next
End If
frm.Enabled = True
End Sub
تابع ColorKey همین کار رو می کنه
loads
دوشنبه 12 دی 1384, 08:03 صبح
سلام
حامد جان مثل اینکه یادت رفته من مبتدی هستم و تازه اول راه . اگه بخوام مثلا رنگ سبز رو از فرم
حذف کنم کجای این کد باید وارد کنم .
مرسی
حامد مصافی
دوشنبه 12 دی 1384, 17:52 عصر
سلام
کد فوق رو در قالب یک ماژول ذخبره کنید
و به این شکل فراخوانیش کنید
ColorKey me.hwnd, vbGreen
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.