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

مساعد في تشكيل الفورمه

بدأه omega-tron في 9 يوليو 2009 · 2 رد · 514 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

مساعده في مثال استخدام دوال اي بي اي في تشكيل الفورمة علي شكلي صورة معينة

حاولت تنفيذ الطرق الخاصة باخفاء لون معين او درجة شفافية الفورمة او لون معين

لكن دون جدوي الرجاء المساعدة بمثال (كود وليس اداة اكتف اكس )........ شكرا

 

تم تعديل هذه المشاركة بواسطة omega-tron في 9 يوليو 2009 في 11:00

#2

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

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

المثال يعتمد على الـAPI لذلك لن تجد اختلافا عند تطبيقه فى الفيبى6

/index.ph...=186180&hl=

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3

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

يمكنك جعل النافذة ككل شفافة (بدرجات مختلفة من الشفافية، بما في ذلك شريط العنوان و الإطار)، أو جعل لون واحد فقط شفافاً بحيث تأخذ النافذة شكلاً معيناً باستخدام نفس الدالة: SetLayeredWindowAttributes.

ضع الكود التالي في قسم التصريحات للنموذج

  1.  
  2. Private Declare Function GetWindowLong Lib "user32" Alias _
  3. "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  4. Private Declare Function SetWindowLong Lib "user32" Alias _
  5. "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _
  6. ByVal dwNewLong As Long) As Long
  7. Private Declare Function SetLayeredWindowAttributes Lib "user32" _
  8. (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, _
  9. ByVal dwFlags As Long) As Long
  10.  
  11. Private Const GWL_EXSTYLE = (-20)
  12. Private Const WS_EX_LAYERED = &H80000 ' Translucent: شفافة لكنها تستقبل أحداث الفأرة
  13. 'Private Const WS_EX_TRANSPARENT = &H20& ' Fully Transparent: أحداث الفأرة تذهب للنافذة التي خلفها
  14. Private Const LWA_COLORKEY = &H1& ' لجعل المناطق ذات اللون المحدد شفافة
  15. Private Const LWA_ALPHA = &H2& ' لجعل النافذة ككل شفافة
  16.  

بالنسبة إلى بارامترات الدالة SetLayeredWindowAttributes فهي كالتالي:

hwnd: مقبض النافذة التي تريد التعامل معها.

crKey: قيمة اللون الذي تريد إظهاره شفافاً (لا يعتبر جزءاً من النافذة).

bAlpha: درجة الشفافية للنافذة ككل و يأخذ القيم من 0 (شفافة تماماً) إلى 255 (معتمة تماماً).

dwFlags: قيمة تحدد إما استعمال البارامتر crKey (جعل أحد الألوان شفافاً) أو استعمال البارامتر bAlpha (تطبيق الشفافية على النافذة ككل).

إذا كنت تريد جعل أحد الألوان شفافاً، استعمل الكود التالي في الحدث Form_Load

  1.  
  2. Private Sub Form_Load()
  3. Dim OldStyle As Long
  4.  
  5. OldStyle = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
  6. SetWindowLong Me.hwnd, GWL_EXSTYLE, OldStyle Or WS_EX_LAYERED
  7. SetLayeredWindowAttributes Me.hwnd, Me.BackColor, 0, LWA_COLORKEY
  8. End Sub
  9.  

حيث بدل Me.BackColor يمكنك أن تضع اللون الذي تريده شفافاً.

إذا كنت إظهار النافذة ككل شفافة، استعمل الكود التالي في الحدث Form_Load

  1.  
  2. Private Sub Form_Load()
  3. Dim OldStyle As Long
  4.  
  5. OldStyle = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
  6. SetWindowLong Me.hwnd, GWL_EXSTYLE, OldStyle Or WS_EX_LAYERED
  7. SetLayeredWindowAttributes Me.hwnd, 0, 128, LWA_ALPHA
  8. End Sub
  9.  

حيث بدل 128 يمكنك أن تضع درجة الشفافية التي تريدها (0 - 255).

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

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

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