منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
خلفية شفافة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : خلفية شفافة (/showthread.php?tid=787)



خلفية شفافة - asto - 31-10-13

السلام عليكم

مطلوب طريقة جعل الفورم و الليبل و البكتشر الخالي و التكست شفافين


RE: خلفية شفافة - ناجي إبراهيم - 31-10-13

السلام عليكم...

إذا كنت تقصد جعل النافذة ككل شفافة، بكافة مكوناتها، فاستعمل الكود التالي:

كود :
' في قسم التصريحات العام
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 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 GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const WS_EX_TRANSPARENT = &H20&
Private Const LWA_ALPHA = &H2&

Private Sub Form_Load()
    Dim lOldStyle As Long
    Dim bTrans As Byte ' The level of transparency (0 - 255)

    bTrans = 128    ' درجة الشفافية
    lOldStyle = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
    SetWindowLong Me.hwnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED
    SetLayeredWindowAttributes Me.hwnd, 0, bTrans, LWA_ALPHA
End Sub

درجة الشفافية من النوع بايت، و طبعاً تتراوح القيمة بين 0 (شفافة بالكامل) و 255 (معتمة بالكامل = غير شفافة).

نرجو الاستفادة و السلام.


RE: خلفية شفافة - asto - 01-11-13

طيب و اذا اردت جعل عنصر معين شفافا ؟


RE: خلفية شفافة - asto - 04-11-13

اريد جعل الليبل شفافا


RE: خلفية شفافة - ناجي إبراهيم - 04-11-13

السلام عليكم...

بالنسبة إلى الـ Label بالذات الأمر سهل: اضبط الخاصية BackStyle على 0 - Transparent.

بالنسبة إلى بقية المكونات فهناك مكونات Microsoft Forms 2 Object Library (باختيار الأمر Components من القائمة Project). لكني لم أتمكن من تضمينها مع WIn 7 و لا أدري هل السبب عدم التوافق أم مشكلة في جهازي أنا ؟

سلام.


RE: خلفية شفافة - asto - 04-11-13

يظهر لي رسالة بالنسبة Microsoft Forms 2 Object Library و هي :

تعذر العثور على الوحدة النمطية