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

فائدة / بحث في ComboBox و ListBox بواسطة API

مغلق
بدأه Visitor_OM في 2 يونيو 2003 · 13 رد · 5,257 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أخواني واخواتي الإعزاء هذا مثال تطبيقي حول كيفية الإستفادة من توابع api في عملية البحث عن بيانات موجوده في ComboBox او ListBox .

يوجد مثال مرفق .

الكود /

'Module ضع هذا الكود في
'
 Public Const CB_FINDSTRING = &H14C
 Public Const LB_FINDSTRING = &H18F
'
 Public Declare Function SendMessageAny Lib "user32" _
  Alias "SendMessageA" (ByVal hwnd As Long, _
                        ByVal wMsg As Long, ByVal wParam As Long, _
                                                  lParam As Any) As Long
'
'From1 وهذا الكود في
'
Public Function ComboBoxIndex(ByVal lHwnd As Long, ByVal sSearchText As String) As Long
                ComboBoxIndex = SendMessageAny(lHwnd, CB_FINDSTRING, -1, _
                                                      ByVal sSearchText)
End Function
'
Public Function ListBoxIndex(ByVal lHwnd As Long, ByVal sSearchText As String) As Long
                ListBoxIndex = SendMessageAny(lHwnd, LB_FINDSTRING, -1, _
                                                     ByVal sSearchText)
End Function
'
Private Sub Form_Load()
'
 For i = 0 To 100
  Combo1.AddItem i
   List1.AddItem i
 Next
End Sub
'
Private Sub Text1_Change()
'
  If Trim(Text1.Text) = "" Then Combo1.Text = "": List1.Text = "": Exit Sub
          Combo1.Text = ComboBoxIndex(Combo1.hwnd, Text1.Text)
           List1.Text = ListBoxIndex(List1.hwnd, Text1.Text)

 If Trim(Combo1.Text) = "-1" Then Combo1.Text = "لا يتم الحصول على الرقم المطلوب"
'
End Sub

تحياتي ،،،

searchincomboandlist.zip

تم تعديل هذه المشاركة بواسطة إبراهيم الطيب في 3 يناير 2005 في 09:53

#2

(f) يعطيك العافية اخي الغالي (f)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

شكرا أيه الحبيب

هل هناك طريقة لل combobox

1 - بمجر يكون عليها التركيز تنسدل

2 - كود الانتقال منها ألى أي أداة في الفورم

وفقك الله .. ورحم و غفرلك ولوالديك و المسلمين

محبك/أبو زيد

#4

(f)(f) شكرا أخي الكريم وربنا يكثر من أمثالك .

#5

اخواني Xacker ، ابو زيد ، m_59 شكرا لكم على الردود الطيبة وبارك الله فيكم .

أخي الكريم ابو زيد اتوقع ممكن ذلك بس عطني فرصة اسوي مثال للمطلوب.

#6

تفضل اخي الكريم ابو زيد ولكن فيه مشكلة إلا وهي ان التركيز يكون على العنوان المصاحب للComboBox . بالنسبة للإنتقال جرب تضعط على مفتاح Enter .

الكود /

'
 Dim AddInComboBox
'
 Private Declare Sub keybd_event Lib "user32.dll" _
                          (ByVal bVk As Byte, ByVal bScan As Byte, _
                                              ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
'
Private Sub Combo1_KeyPress(KeyAscii As Integer)
'
 If KeyAscii = 13 Then
     KeyAscii = 0
      SendKeys "{TAB}"
 End If
'
End Sub
'
Private Sub Command1_Click()
'
 End
End Sub
'
Private Sub Form_Load()
'
  For AddInComboBox = 0 To 100
       Combo1.AddItem AddInComboBox
  Next
End Sub
'
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'
  keybd_event vbKeyF4, 1, 1, 0
End Sub
'

-----

لايمكن تنزيل الملف المرفق، لذا قمت بحذفه، وقمت بإضافة علامات code للأكواد

تم تعديل هذه المشاركة بواسطة walcom في 20 نوفمبر 2005 في 18:26

#7

شكر الله لك صنيعك و غفرلك و نفع بك و بعلمك

محبك/أبو زيد

#8

شكور أخوى

#9

شـــــــكرا أخى على الموضوع الشيق

#10

أحسنت

#11

موشوع فعلا يستحق التثبيت

#12

انت الابداع

#13

موضوع اكثر من رائع

جزاك الله خيرا والى الامام

#14
جزاك الله كل خير

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

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