الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف استدعي هذه الوحدة النمطية لجعل خلفية النموذج شفاف

مغلقمُجاب
بدأه الازدي في 14 فبراير 2014 · 6 رد · 1,016 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة و السيدات الكرام

 

سلام الله عليكم ورحمة منه وبركات

 

اعلم ان هذا الموضوع قد تم تداوله و البحث فيه اكثر من مرة

 

وقد قمت بتجربة اكثر من مثال وهي تعمل لكن ينقصها انه عند تطبيق الكود يصبح النموذج بما حوى شفاف اي ان الخلفية والازرار والنصوص تصبح كذلك شفافة

 

وهذا ليس ما اريده اريد ان تكون الخلفية فقط شفافة بينما الازرار والنصوص واضحة دون ان تتأثر بالكود او الشفافية

 

في طور بحثي لهذا الموضوع وجدت هذه الدالة وحسب ما فهمت انها تعمل اي انها تجعل خلفية النموذج شفافة دون ان تأثر على غيرها

 

اخوكم الفقير الى ربه يفتقر لبعض الخبرات في تطبيق الاكواد واستدعائها فلجئنا الى الله ثم اليكم طلبا للعون و المساعدة ... لا اطيل اليكم الدالة والمثال في المرفقات

Private Const GWL_EXSTYLE = (-20)
Private Const LWA_COLORKEY = 1
Private Const LWA_ALPHA = 2
Private Const WS_EX_LAYERED = &H80000

Private Declare Function apiGetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
   ByVal hwnd As Long, _
   ByVal nIndex As Long) As Long

Private Declare Function apiSetLayeredWindowAttributes Lib "user32" Alias "SetLayeredWindowAttributes" ( _
   ByVal hwnd As Long, _
   ByVal Color As Long, _
   ByVal AlphaPercent As Byte, _
   ByVal Alpha As Long) As Boolean

Private Declare Function apiSetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
   ByVal hwnd As Long, _
   ByVal nIndex As Long, _
   ByVal dwNewLong As Long) As Long
   
'  Setting OpacityPercent to zero makes the form fully transparent.
'  Setting OpacityPercent to 100 makes the form fully opaque.
'  This only has an affect on forms whose PopUp property is True.
   
   
Public Sub SetOpacity(frm As Access.Form, OpacityPercent As Byte)
   ' Ensure frm is a PopUp form. Raise an error if it is not.
   If Not frm.Popup Then
      err.Raise 5, , "Invalid argument." & vbCrLf & Namespace$ & " cannot SetOpacity on form " & frm.Name & ". PopUp form required."
   Else
      ' Force OpacityPercent between 0 and 100.
      If OpacityPercent > 100 Then OpacityPercent = 100
      If OpacityPercent < 0 Then OpacityPercent = 0
      
      ' Convert supplied percentage value to one ranging between 0 and 255 for apiSetLayeredWindowAttributes
      Dim iAlpha As Integer
      iAlpha = (OpacityPercent / 100) * 255
      ' Get forms current extended attributes
      Dim attrib As Long
      attrib = apiGetWindowLong(frm.hwnd, GWL_EXSTYLE)
      ' Set form to have extended layered attribute
      apiSetWindowLong frm.hwnd, GWL_EXSTYLE, attrib Or WS_EX_LAYERED
      ' Set opacity
      apiSetLayeredWindowAttributes frm.hwnd, RGB(0, 0, 0), iAlpha, LWA_ALPHA
   End If
End Sub

بارك الله فيكم  :blush:

#2

اعذروني اخواني الكرام لا اعلم لماذا تكرر الموضوع عند النقر على اضافة موضوع تخرج صفحة بها خطأ

 

Network Error (tcp_error) A communication error occurred:

 

 ولم اعلم ان الموضوع تم ادراجه

#3

تفضل اخي الكريم

 

ملفك بعد التعديل

 

 

post-15367-0-55465400-1392399913_thumb.g

 

 

 

 

za-Database1-UP.rar

 

بالتوفيق

#4

شكر الله لك اختنا المشرفة الغالية زهرة الروح والمنتدى لكن ارى ان المشكلة مازالت قائمة حيث ان الشفافية شملت جميع محتويات النموذج حيث تتأثر الازرار و النصوص بالشفافية اي تصبح شفافة ولمراد بارك الله فيك ان لا تأثر هذه النصوص بارك الله فيك وفي الاخوة الكرام

#5

شكر الله لك اختنا المشرفة الغالية زهرة الروح والمنتدى لكن ارى ان المشكلة مازالت قائمة حيث ان الشفافية شملت جميع محتويات النموذج حيث تتأثر الازرار و النصوص بالشفافية اي تصبح شفافة ولمراد بارك الله فيك ان لا تأثر هذه النصوص بارك الله فيك وفي الاخوة الكرام

#7

اللهم صلي وسلم على النبي مشاء الله لا قوة الا بالله

 

اللهم بارك في علم وعمل اختنا زهرة

 

جزاك الله الف خير عمل رائع

تم تعديل هذه المشاركة بواسطة نجوم الكون في 15 فبراير 2014 في 00:03

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…