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

هل ممكن ان ينفع ؟؟؟

بدأه Eng.S.IDk في 2 أبريل 2010 · 5 رد · 563 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي سؤال بحثت في وما عرفت كيف بدي اسوي .

هلا انا مصمم صفحة ع ال v.b وطبعا الصفحة موجود فيها مجموعة من الازرار كيف ممكن عند ما افرب الماوس من الزر المحدد يطلع صوت انا محددو

يعني مثلا في زر اسمو عرض الدرس "قبل ما نضغط علية يعني بس مجرد تقريب الماوس يقلك "عرض الدرس "".

#2

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

نعم يمكن ذلك.

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

Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function GetCapture Lib "user32" () As Long

في إجراء الحدث MouseMove للزر اكتب الكود التالي:

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    With Command1
        If (X < 0) Or (Y < 0) Or (X > ScaleX(.Width, Me.ScaleMode, vbTwips)) Or (Y > ScaleY(.Height, Me.ScaleMode, vbTwips)) Then
            ' MouseLeave مغادرة مؤشر الفأرة:
            Call ReleaseCapture
        ElseIf GetCapture() <> .hwnd Then
            ' MouseEnter دخول مؤشر الفأرة:
            Call SetCapture(.hwnd)
            ' ضع هنا أمر تشغيل الصوت
        'Else
            ' Normal MouseMove
            ' ...
        End If
    End With
End Sub

طبعاً أمر تشغيل الصوت يعتمد على الطريقة التي تستعملها في برنامجك، ربما باستعمال MediaPlayer أو Real Player أو MCI Control أو ربما الدالة sndPlaySound.

كل زر تريد أن تطبق عليه نفس الأمر ستحتاج أن تكتب له نفس الكود في الإجراء MouseMove الخاص به، طبعاً مع تغيير Command1 إلى Command2 أو Command3 ... إلخ (حسب اسم الزر).

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

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

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

#3
اقتباس

Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove

With Button1

If (x < 0) Or (Y < 0) Or (x > ScaleX(.Width, Me.ScaleMode, vbTwips)) Or (Y > ScaleY(.Height, Me.ScaleMode, vbTwips)) Then

RaiseEvent MouseEnter()

Call SetCapture(.hwnd)

Else

End If

' MouseLeave :

End With

End Sub

هذا هو الكود الذي وضعته داخل برنامجي ، طبعا قمت وضع التعريفات ، عرّفتها على شكل جلوبل

ووضعت هذا الكود كما ترى اخي في فنكشن الماوس موف

لكن يعطيني أخطاء تعريفية مثل : ScaleY , vbTwips , MouseEnter ,hwnd

طبعا الأخطاء عليهم لأنهم غير معرّفين ، فوين أعرفهم ...

ومشكور جدا أخي ، غلبناك معنا

لكن الأمر ضروري جداً

تم تعديل هذه المشاركة بواسطة Eng.S.IDk في 2 أبريل 2010 في 23:26

#4
Eng.S.IDk كتب:

هذا هو الكود الذي وضعته داخل برنامجي ، طبعا قمت وضع التعريفات ، عرّفتها على شكل جلوبل

ووضعت هذا الكود كما ترى اخي في فنكشن الماوس موف

لكن يعطيني أخطاء تعريفية مثل : ScaleY , vbTwips , MouseEnter ,hwnd

طبعا الأخطاء عليهم لأنهم غير معرّفين ، فوين أعرفهم ...

ومشكور جدا أخي ، غلبناك معنا

لكن الأمر ضروري جداً

أخي يبدو أنك تعمل على الدوت نت . وليس على الفيجوال 6

اطرح موضوعك في الفيجوال دوت نت .

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#5
اقتباس
أخي يبدو أنك تعمل على الدوت نت . وليس على الفيجوال 6

انا بشتغل ع v.b 2005

2005 visual studio

نفسو دت نت

تم تعديل هذه المشاركة بواسطة Eng.S.IDk في 3 أبريل 2010 في 00:49

#6
Eng.S.IDk كتب:

انا بشتغل ع v.b 2005

2005 visual studio

نفسو دت نت

نعم اخي الكريم الدوت نت . اصداراته

vb2003

vb2005

vb2008

وحاليا

vb2010

فالكود السابق هنا كتب من اجل الفيجوال بيسك 6 وليس للدوت نت .

لذا اطرح سؤالك في قسم فيجوال دوت نت . هنا

/index.php?showforum=62

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

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

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

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

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

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