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

Error in UserControi subclassing

مغلق
بدأه حريف برمجة في 5 أبريل 2007 · 7 رد · 667 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

المشكلة تحدث عند محاولة عمل هوك على احد ال user control وهى اداه جديدة اقوم بتصنيعها

تظهر رسالة ميكروسوفت بعد وضح الاداه فى وقت التنفيذ وبعد ذلك يتم اغلاق بيئة التصميم

هل ال Subclass الذى يتم اجرائة على اليوزر كنترول هو نفسه الذى يتم عمله على المشاريع العادية Standard exe ؟؟ ام هناك فرق

ومرفق المشروع

للايضاح دالة ال Subclass موجودة فى موديول

Room_View.rar

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#2

الدالة

   Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal Hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal Hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

	Dim PrevProc	 As Long
	Public CTRl As UserControl
	Const WM_MOUSEMOVE	As Long = &H200
	Const WM_MOUSELEAVE   As Long = &H2A3
	Const GWL_WNDPROC = (-4)


Public Sub hock(Hwnd As Long)

   PrevProc = SetWindowLong(Hwnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub

Public Sub UnHock(Hwnd As Long)
  SetWindowLong Hwnd, GWL_WNDPROC, PrevProc
End Sub

Public Function WindowProc(ByVal Hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  WindowProc = CallWindowProc(PrevProc, Hwnd, uMsg, wParam, lParam)
  Select Case uMsg
	Case WM_MOUSEMOVE: ForeColor = vbBlue
	Case WM_MOUSELEAVE: ForeColor
  End Select
  Debug.Print uMsg
End Function

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#3

شغاله تمام عندى , الخطأ الوحيد بيها هو :

	Case WM_MOUSEMOVE: ForeColor = vbBlue
	Case WM_MOUSELEAVE: ForeColor

تعديل , أستعمل الـ Self sub أضمنلك

تم تعديل هذه المشاركة بواسطة msayed2004 في 5 أبريل 2007 في 00:25

#4

للاسف انا لا مبعرفش اشتغل ب Self sub ولو عندك لينك يا ريت

وافتح المسنجر هتشوف حاجات

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#5

موجود بـ Yomna Link Control بالرابط بتاعه , و هو هيغنيك عن أستعمال Module هفتح الياهو اهه رغم أنى كنت فى طريقى الى النــــــــــــــــــــــــــومـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

#6

بالنسبة لخطا ميكروسوفت الظاهر ان العيب فى نظام التشغيل او الفيجوال استوديو

اما السيلف سب انا حاولت فيه واتعقدت من كتر عمليات الفحص على رسائل النظام ودوال الاي بى اى التى تعود مقبض العملية التى تتم عليها المعالجة الحالية وووو شكلها مدى على اسمبلى اكتر خلينا مع السب كلاس العادى لحد ما ربنا ينفخ فى صورتنا ونتعلم ال Self sub اما اذا كان احد الاعضاء عندة فكرة عنه فليتفضل مشكورا

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#8

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

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

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

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

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

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

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

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