PDA

View Full Version : شفاف کردن فرم



crasis
شنبه 21 شهریور 1388, 21:45 عصر
سلام
من برنامه شفاف کردن فرم را دارم . اما مي خوام بدونم چطور مي تونم يک قسمتي از فرم يا آبجکت هايي رو که دوست دارم شفاف کنم؟

REZADG
یک شنبه 22 شهریور 1388, 00:42 صبح
بفرما یه نمونه ی ساده

saeedzx
یک شنبه 22 شهریور 1388, 01:10 صبح
دوست من این که کاری نداره کدی که شما دارید فرم را شفاف میکنه یعنی از شما میپرسه من کجا رو شفاف کنم کنم شما هم میگید فرم خب ایندفعه به جای فرم بذار مثلا کامند :متفکر:

crasis
یک شنبه 22 شهریور 1388, 12:07 عصر
دوست من این که کاری نداره کدی که شما دارید فرم را شفاف میکنه یعنی از شما میپرسه من کجا رو شفاف کنم کنم شما هم میگید فرم خب ایندفعه به جای فرم بذار مثلا کامند :متفکر:


ميشه لطف کني يک نمونه بذاري

Vahid Wosugy
یک شنبه 22 شهریور 1388, 13:15 عصر
برای شفاف کردن قسمتی از فرم باید آن قسمت رنگ خاصی داشته باشد

کد زیر را در قسمت کد برنامه وارد کنید.



Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex 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 Declare Function SetLayeredWindowAttributes Lib "user32.dll" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Const LWA_COLORKEY = &H1
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Const BM_SETSTATE = &HF3

Private Sub Form_Load()
Dim Ret As Long
Dim CLR As Long
CLR = RGB(1, 1, 1)

Me.ForeColor = CLR

For i = 1 To 400
For j = 1 To 400
DoEvents
Me.Line (1000, 1000)-(i, j)
Next j
Next i


Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
Ret = Ret Or WS_EX_LAYERED
SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
SetLayeredWindowAttributes Me.hWnd, CLR, 0, LWA_COLORKEY
End Sub