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

هل بالامكان ظهور أداة في موقع محدد من المشروع

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

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

كيف حالكم يا اخوان ان شاء الله بخير ..

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

السؤال باختصار ..::

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

أركز كثيراً على ظهور القائمة في نفس موقع مؤشر الكتابة ..

موفقين اخواني جميعاً ..

وبانتظار الرد :( ..

post-58588-1174992808_thumb.gif

#2

UP

:(

#3

هذا سورس كود مصغر لاظهار الاداة ..

ولكن بحاجة الى تعديل لكي يظهر في المكان المناسب من مربع النص ( مثل الصورة المرفقة بالاعلى القائمة تظهر مباشرة بعد ما كتبت النقظة (.) )

list.rar

#4

UP

لعل وعسى ان يأتي من يأتي ويحل لنا هذه المعضلة :( .

#5

قمت بكتابة الكود التالي علي عجالة وأعتقد أنه شغال كما تريد ..

Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim lposX As Long, lposY As Long, lpos As Long, intCount As Integer
On Error Resume Next
If Chr(KeyAscii) = " " Then

   lposX = InStrRev(Text1, vbCrLf, Text1.SelStart)
   If lposX > 0 Then
	   If Not (Text1.RightToLeft) Then
		  List1.Left = Me.TextWidth(Mid(Text1, lposX, Text1.SelStart))
	   Else
		  List1.Left = Text1.Width - Me.TextWidth(Mid(Text1, lposX, Text1.SelStart))
	   End If
	   intCount = 1: lpos = Text1.SelStart
	   Do While lpos <> 0
		  lpos = InStrRev(Text1, vbCrLf, lpos)
		  If lpos > 0 Then intCount = intCount + 1
	   Loop
	   lposY = intCount * Me.TextHeight(Left(Text1, 1)) + Me.TextHeight(Left(Text1, 1))
	   List1.Top = lposY
   Else
	   If Not (Text1.RightToLeft) Then
		  List1.Left = Me.TextWidth(Left(Text1, Text1.SelStart))
	   Else
		 List1.Left = Text1.Width - Me.TextWidth(Left(Text1, Text1.SelStart))
	   End If
	   List1.Top = Me.TextHeight(Left(Text1, Text1.SelStart)) * 2
   End If

   List1.Visible = True
   List1.SetFocus: List1.Selected(0) = True

Else
   List1.Visible = False
End If

End Sub

إذا أردت المزيد يمكنك البحث عن أي مشاريع باسم IntelliSense

والأمر لن يخرج عن استخدام دوال API أو استخدام دالتي TextWidth و TextHeight

list2.rar

#7

تبون الحق .. ما توقعت ان لها حل بهذه السهولة :)

والله اني يائس بعض الشيء من هذا الموضوع قلت فقط سأبحث عنه للأطلاع على الأقل .. لكن ما شاء الله عليكم أخواني Pharaonic_Guy و msayed2004 والله بعثتوا في نفسي الأمل حتى أكمل المشروع .. ما قصرتوا والله .. وجعلها الله في ميزان حسناتكم ان شاء الله ..

دمتم في رعاية الله جميعاً .. .

حفظكم الله ..

#8

والله الحل جه لما الأخ Pharaonic_Guy قال ان أسم الموضوع ده IntelliSense لأن صعب البحث عن حاجة ما أعرفش معناها و بالتالى الشكر ليه بعد الله سبحانه عز و جل.

#9

يا باشا انت الخير والبركة ..

وانت والمميز الآن ودائما المهندس أسامة اللي شايلين المهام الصعبة في المنتدي الآن ..

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

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

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

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

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

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