PDA

View Full Version : اکتیوکس برای فرم



harry potter
جمعه 23 دی 1384, 17:52 عصر
سلام دوستان یه اکتیوکس میخواستم که فرم رو مثل شیشه کنه
یعنی من بتونم پشت فرم رو ببینم
:تشویق:

حامد مصافی
جمعه 23 دی 1384, 21:41 عصر
ابتدا این کد رو در یک ماژول کپی کن



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


حالا در فرم لود دستور زیر رو بنویس


Transpart hwnd, 128


البته به جای 128 می تونی یک مقدار دیگه از 0 تا 255 بنویسی

harry potter
شنبه 24 دی 1384, 09:52 صبح
اخه من نمی خوام که کنترل ها هم کم رنگ بشن
من میخوام فقط فرم شیشه ای بشه
کنترل ها همون تر باقی بمونن
اگه کسی کد یا اکتیوکسی داره بزاره
کارم گیره
خیلی ممنون میشم:تشویق:

jk
یک شنبه 25 دی 1384, 10:03 صبح
کنترل ها کم رنگ نشدن بلکه شیشه ای شدند
خاصیت کنترل شیشه ای این هستش که کم رنگ جلوه میکنه
اگه میخوای کم رنگ نباشد شماره بالاتری بده