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

كيف أستطيع عمل قائمة بالزر الأيمن للماوس

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

كيف أستطيع عمل قائمة بالزر الأيمن للماوس و تنفيذ الأوامر الموجودة بالقائمة

#2

بسم الله

شوف يا سيدي

اولا انت تعمل القوائم بتاعتك عادي من Menu editor وبعدين تكتب الكود ده مع الحدث MouseDown وتخلي بدال Menu اسم القائمة الرئيسية اللي انت عايزها تظهر

If Button = 2 Then PopupMenu Menu
#3

أشكرك على ردك السريع

ولكن هل يوجد طريقة لعمل القائمة بالكود لتعمل فقط مع القائمة اليمينية للماوس و تنفيذ الأوامر المتنوعة عند الضغط على القائمة

#4
Const MF_CHECKED = &H8&
Const MF_APPEND = &H100&
Const TPM_LEFTALIGN = &H0&
Const MF_DISABLED = &H2&
Const MF_GRAYED = &H1&
Const MF_SEPARATOR = &H800&
Const MF_STRING = &H0&
Private Type POINTAPI
	x As Long
	y As Long
End Type
Private Declare Function CreatePopupMenu Lib "user32" () As Long
Private Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, ByVal lprc As Any) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
Private Declare Function DestroyMenu Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Dim hMenu As Long
Private Sub Form_Load()
	'Create an empty popupmenu
	hMenu = CreatePopupMenu()
	'Append a few menu items
	AppendMenu hMenu, MF_STRING, ByVal 0&, "Hello !"
	AppendMenu hMenu, MF_GRAYED Or MF_DISABLED, ByVal 0&, "Testing ..."
	AppendMenu hMenu, MF_SEPARATOR, ByVal 0&, ByVal 0&
	AppendMenu hMenu, MF_CHECKED, ByVal 0&, "TrackPopupMenu"
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
	Dim Pt As POINTAPI
	'Get the position of the mouse cursor
	GetCursorPos Pt
	If Button = 1 Then
		'Show our popupmenu
		TrackPopupMenu hMenu, TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&
	Else
		'Show our form's default popup menu
		TrackPopupMenu GetSystemMenu(Me.hwnd, False), TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&
	End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
	'Destroy our menu
	DestroyMenu hMenu
End Sub

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

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

#5

لقد جربت الكود نجح 100% لكن عند الضغط على أي سطر من القائمة لم يحدث شيئ أريد إضافة كود حدث كرسالة مثلاَ

شاكرا لك تعاونك

#6

بعد إنشاء القائمة بمحرر القوائم (أنشأ قائمة رئيسي بالاسم Menu وثلاث فرعية a , b ,c) :

Private Sub a_Click()
	MsgBox "that is no.1", vbInformation, "Menu"
End Sub

Private Sub b_Click()
	MsgBox "that is no.2", vbInformation, "Menu"
End Sub

Private Sub c_Click()
	MsgBox "that is no.3", vbInformation, "Menu"
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu Menu
End Sub
اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#7

راجع :

اضافة item جديد فى menu اثناء run

بالتوفيق ,,,,

A7med_prof

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

أخي ربما سؤالك اجابته في أحدى هذه المواضيع فإن لم تجد قم بالبحث وان لم تجد اطرح سؤالك مع وضع عنوان مناسب بحيث ان يكون هذا العنوان دال على محتوى الموضوع فغير ذلك من أكبر الكبائر في المنتدى وسيؤدي الى غلق او حذف موضوعك .

.

</
#8

بأضافة الثابت

Private Const TPM_RETURNCMD As Long = &H100&

هتنحل المشكلة

راجع : Cre8Popup , ده أفضل مشروع عن أنشاء القوائم بالكود.

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

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

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

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

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

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