التحكم بدرجة شفافية النموذج في مايكروسوفت اكسس

التحكم بدرجة شفافية النموذج في مايكروسوفت اكسس

قد يحتاج المبرمج الى اضافة بعض اللمسات الفنية من حيث درجة الشفافية للنموذج، ومن هنا جائت الفكرة لهذا الموضوع.
لعمل ذلك يتم  وضع الكود التالي  في وحدة نمطية جديدة (انشاء دالة جديدة
Option Compare Database
Option Explicit
 Public Const GWL_EXSTYLE = -20
 Public Const LWA_COLORKEY = 1
 Public Const LWA_ALPHA = 2
 Public Const WS_EX_LAYERED = &H80000
 Public tpVal As Integer
 Public Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
 Public Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
 Public Declare PtrSafe Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal cKey As Long, ByVal bAlpha As Long, ByVal dwFlags As Long) As Long

Sub Trasp(hwnd As Long, tVal As Integer)
    Call SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED)
    Call SetLayeredWindowAttributes(hwnd, 0, (255 * tVal) / 90, LWA_ALPHA)
End Sub


وفي النموذج المطلوب تغيير درجة الشفافية له نقوم بوضع الكود التالي في حدث عند الفتح :
Trasp Me.hwnd, 60

حيث ان الرقم في نهاية الكود (60) يدل على درجة الشفافية وهي رقم من (0 – 90) ويكون الرقم 0 هو الاكثر شفافية اما الرقم 90  بدون شفافية 

مثال






تعليقات

المشاركات الشائعة من هذه المدونة

الشروط في الاستعلامات

اخفاء اطار/ شاشة مايكروسوفت اكسس

انواع الاستعلامات في اكسس