التحكم بدرجة شفافية النموذج في مايكروسوفت اكسس
التحكم بدرجة شفافية النموذج في مايكروسوفت
اكسس
قد يحتاج المبرمج الى اضافة بعض اللمسات
الفنية من حيث درجة الشفافية للنموذج، ومن هنا جائت الفكرة لهذا الموضوع.
لعمل ذلك يتم وضع الكود التالي في وحدة نمطية جديدة (انشاء دالة جديدة)
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
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 بدون
شفافية
مثال
تعليقات
إرسال تعليق