PDA

View Full Version : با استفاده از این کد شما می توانید هر رنگی را از فرم حذف نمائید(به فرم حالت دهید)



محسن شمس
جمعه 28 مرداد 1384, 22:49 عصر
هر کی می خواهد ایمیل خودش را برایم بفرسته

بابک زواری
شنبه 29 مرداد 1384, 00:58 صبح
اگر کدی رو دار بذار اینجا
اینکه Emailتون رو بنویسید جز زیاد کردن رکوردهای بانک و هدر دادن پهناب باند نیست

حامد مصافی
شنبه 29 مرداد 1384, 08:48 صبح
سلام
اگه قرار باشه برای هر کاری یه کنترل استفاده کنید در پایان تعداد زیادی کنترل خواهید داشت که اکثراً نوشتهء برنامه نویسان کوچک است و هر کدام یک خطر رجیستر نشدن هستند
شما به کمک ماژول زیر می تونید این کار رو انجام دهید - تابع colorkey
علاوه بر این این ماژول توانایی نیمه شفاف کردن فرم رو هم داره
(تابع FadeForm رو هم امتحان کنید)



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

mohsengrisly
شنبه 29 مرداد 1384, 23:26 عصر
قربون ادم چیز فهم
یه نفر پیدا شد که حرف مارو قبول کنه .
هر چند کد برنامه را کمی پیچیده می کند اما مزایای بسیارش و اطمینان از صحت کار ارزش بیشتری داره

loads
یک شنبه 30 مرداد 1384, 14:40 عصر
Black Dal عزیز میشه راجب این کد بیشتر توضیح بدی

مرسی

حامد مصافی
دوشنبه 31 مرداد 1384, 12:54 عصر
سلام
محسن خان ما دربست قبولت داریم

جناب loads
تابع colorkey یک رنگ را از فرم حذف می کنه
تابع transparent فرم رو نیمه شفاف می کنه
تابع fadeform فرم رو به صورت تدریجی محو یا پدیدار می کنه

Hassan-Ahmadi
دوشنبه 31 مرداد 1384, 23:40 عصر
خیلی ببخشید
ولی
فکر کنم اون بد بخت هم گفته بود کد ااا.

sadegi
دوشنبه 31 مرداد 1384, 23:40 عصر
خیلی ممنون جناب آقای مصافی
جالب بود