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

ازي اعمل بحث داخل كومبو بوكس

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

السلام عليكم

اريد معرفة ازي اعمل بحث داخل كومبو بوكس يعني عندي تيكست بوكس وكمبو بوكس لمه اكتب في التيكست بوكس 2 هيحدد لي اتومتك علي Item اليه في كومبو بوكس اليه اوله 2 ويخلي

مكتوب في الكومبو بوكس...... ومشكورين

www.acrowing.com

اول موقع عربي لرياضة التجديف

#2

ارجو الرد للاهمية

www.acrowing.com

اول موقع عربي لرياضة التجديف

#3
For w = 0 To List1.ListCount - 1
	If Text1.Text = List1.List(w) Then
		List1.ListIndex = w
	End If
Next w
#4

الكود لايعمل وله علي LIST وله علي Combo

www.acrowing.com

اول موقع عربي لرياضة التجديف

#5

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

أعتقد أنك لست في حاجة إلى ال TextBox طالما أنه بمكنك ضبط الخاصية Style لل ComboBox على Dropdown Combo و هي القيمة الافتراضية، و بالتالي يمكنك الكتابة فيه مباشرة و إجراء البحث.

على أية حال، الكود التالي يمكنك من إجراء البحث مع الإكمال التلقائي للنص (كالذي نراه عند الكتابة في خانت النص بمتصفح الإنترنت):

' General Declarations section:

'Option Explicit

' Constants for use with SendMessage API function:
Private Const CB_FINDSTRING = &H14C
Private Const CB_ERR = (-1)

' Windows API function used for search:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

' User defined function used for search and selecting part of text:
Private Function FindNearestText(AComboBox As Control, KeyAscii As Integer) As Integer
	Dim CB As Long
	Dim FindString As String

	FindNearestText = KeyAscii

	If TypeOf AComboBox Is ComboBox Then	'
		If KeyAscii < 32 Then Exit Function  '  Or KeyAscii > 127
		If AComboBox.SelLength = 0 Then
			FindString = AComboBox.Text & Chr$(KeyAscii)
		Else
			FindString = Left$(AComboBox.Text, AComboBox.SelStart) & Chr$(KeyAscii)
		End If
		CB = SendMessage(AComboBox.hwnd, CB_FINDSTRING, -1, ByVal FindString)
		If CB <> CB_ERR Then
			AComboBox.ListIndex = CB
			AComboBox.SelStart = Len(FindString)
			AComboBox.SelLength = Len(AComboBox.Text) - AComboBox.SelStart
			FindNearestText = 0
		End If
	End If
End Function

' Call the user defined function in the KeyPress event handler of ComboBox:
Private Sub Combo1_KeyPress(KeyAscii As Integer)
	KeyAscii = FindNearestText(Combo1, KeyAscii)
End Sub

قد يمكنك تعديل الكود لإجراء البحث من TextBox بدلاً من ال ComboBox مباشرة

أرجو الاستفادة و السلام

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

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

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