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

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

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

مُساهمة من طرف بنت البلد في الإثنين فبراير 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
الجنس : انثى

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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