كود جميل لعمل خاصية التلاشى للنافذة عند الاغلاق

اذهب الى الأسفل

كود جميل لعمل خاصية التلاشى للنافذة عند الاغلاق

مُساهمة من طرف بنت البلد في الإثنين فبراير 03, 2014 8:33 am

صباح الخير

أزاى نعمل تلاشى للنافذة عند الاغلاق ...اليكم كود جميل باتباع الخطوات التالية :

1_ نقوم بانشاء مشروع جديد

2_ نقوم بإضافة Timer على النافذة ثم نجعل الخاصية Enabled تساوى false و الخاصية Interval تساوى 100

3_ فى قسم التصريحات العامة نكتب الكود التالى :

الكود:
Option Explicit

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 Const GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
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 Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const WS_EX_LAYERED = &H80000


Private m_lAlpha As Long

4_ فى حدث تحميل النافذة نكتب الكود التالى :

الكود:
 m_lAlpha = 255

5_ فى حدث timer نكتب الكود التالى :

الكود:
Private Sub tmr_Timer()

  If (m_lAlpha = 255) Then
      Dim lStyle As Long
      lStyle = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
      lStyle = lStyle Or WS_EX_LAYERED
      SetWindowLong Me.hwnd, GWL_EXSTYLE, lStyle
  End If
  Dim lAlpha
  m_lAlpha = m_lAlpha - 25
  lAlpha = m_lAlpha
  If (lAlpha < 0) Then
      lAlpha = 0
  End If
  SetLayeredWindowAttributes Me.hwnd, 0, lAlpha, LWA_ALPHA
  If (m_lAlpha < 0) Then
      Unload Me
  End If
 
End Sub


6_ فى حدث النقر لاغلاق النافذة نكتب الكود التالى :

الكود:
tmr.Enabled = True

وهو المسؤل عن تشغيل المؤقت

بنت البلد
....
....

تاريخ التسجيل : 18/02/2011
المساهمات : 66
النقاط : 126
التقيم : 6
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى