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

مشكلة فى قائمة مختصرة لفلكس جريد

بدأه rokaphp في 6 مارس 2008 · 12 رد · 1,008 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then PopupMenu file
End Sub

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

772231-1216.gif

فما هو الحل لكى يقوم الزر الايمن للماوس بتحديد السجل المطلوب

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

سؤال آخر

عندى فورم يقوم باضافة بيانات لقاعدة بيانات يحتوى على عدد من textbox ولكن عند فتح الفورم يكون مؤشر الكتابة

فى التكست الرابع كما فى الصورة

772231-1217.gif

فما الحل لكى اجعل مؤشر الكتابة فى التكست الاول

وكيف اجعل زر tab يقوم بتحويل مؤشر الكتابة بالترتيب

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

ارجو الرد السريع

ولكم جزيل الشكر

تم تعديل هذه المشاركة بواسطة rokaphp في 7 مارس 2008 في 00:00

#2

مرحبا أخي بالنسبة للسؤال الأول إجابته تحدد الصف للفليكس بهذا الكود

MsgBox (MSFlexGrid1.Row)

والسؤال الثاني حدد التكست أولاً ثم من الخصائص أعطي قيمة للموشر في الخاصية TabIndex

مثلاً تريد التكست رقم 1 يكون الموشر عليه عند تشغيل البرنامج

ضع في الخاصية TabIndex 0

هنا صفر يعني الأول

والثاني ضع له قيمة رقم 1 يعني الثاني

وهكذا

تحياتي

#3

شكرا اخ محمدvb على اهتمامك

بالنسبة للسؤال الثانى تمام

اما بالنسبة للسؤال الاول انا عاوز احدد السجل فى الفلكس جريد بالزر الايمن بحيث اقدر انفذ عليه الاوامر الموجودة فى القائمة المختصرة

#4
MsgBox (MSFlexGrid1.Row)

هذا السطر هو مفتاحك لعمل مطلوبك

يعني اول شي تحدد الصف وبهذا السطر قدرنا نحدده

ثانياً تجري عملية التعديل أو الحذف على الصف المحدد

أو ارفق مشروعك ليتم التعديل عليه في حالة لم يتضحلك أي شي .. تحياتي

#5

أضف عند ظهرو القائمة :

Dim rowNum, colNum As Integer

	rowNum = InputBox("Row Number :")
	colNum = InputBox("Col Number :")

		Flex1.row = rowNum
		Flex1.col = colNum
اقتباس
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

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

#6

قمت بارفاق ملف للتعديل

roka_menu.zip

#7

up

#8

أخي الكريم ، حتي تتمكن من إجراء مثل هذه الخاصية يجب عليك أمرين :

إما أن تقم بالنقر Click مرة علي الـ Field المراد ثم تنقر كليك يمين مرة ثانية .

أو أنك تعرف موقع الفأرة علي الآداة ومن ثم نقر Click علية بالكود آلياً ، ولكي يتم ذلك تحتاج الي أكواد كثيرة من توابع الـ API .

لكن أخي إسمحلي ، لو لاحظت معظم البرامج لا تهتم بهذه العملية حفاظاً علي البيانات ، علي سبيل المثال أنت ترغب في تنفيذ أمر معين علي Row معين فإنتقل مؤشر الفأرة علي Row آخر دون قصد سيؤدلي ذلك الي حذف الصف دون قصد !!!!

لذلك من المفضل تقييد المستخدم علي هذا الأمر ، وهو تحديد الصف يدوياً ومن ثم تنفيذ الأوامر علية كما يشاء دون حدوث أي خطأ بواسطتي ، ولكن لو كان الخطأ من قبل المستخدم أنا غير مسؤول .

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#9

يمكنك أيضا أن تجعلها أوامر منفصلة , قواءم عادية وأزرار ,,, أريح لك

اقتباس
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

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

#10

الأخ الفاضل ...

جرب الكود التالى فى حدث الضغط على الفأرة

Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
	If Button = 2 Then
		MSFlexGrid1.Row = MSFlexGrid1.MouseRow
		MSFlexGrid1.RowSel = MSFlexGrid1.MouseRow
		PopupMenu file
	End If
End Sub

شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#11

مشكور اخ mm_eg_cairo والاخ ala2 vb

وشكر خاص لمشرفنا المتميز Eng. Usama El-Mokadem

ظبط معى الكود

ولكن اريد ان يكون التحديد بطول السجل كما يفعل الزر الايسر للماوس

وشكرا

#12

up

#13

up

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

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

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

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

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