الاكمال التلقائى فى combobox باستخدام دوال APi SendMessage

إرسال مساهمة في موضوع

اذهب الى الأسفل

الاكمال التلقائى فى combobox باستخدام دوال APi SendMessage

مُساهمة من طرف السنى في الثلاثاء نوفمبر 13, 2018 1:56 pm

يمكن إستخدام دوال APi SendMessage للإكمال التلقائي وعرض تطابقات عناصر combobox أثناء كتابتها. المثال يوضح ذلك

الكود:

'الاعلان عن  SendMessage
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

Private Sub Form_load()
    Dim I As Long
    
    ' مليء عناصر الكمبو بوكس بايام الاسبوع
    For I = 1 To 7
        Combo1.AddItem WeekdayName(I)
    Next
End Sub

Private Sub Combo1_KeyUp(KeyCode As Integer, Shift As Integer)
  
   Dim LenText As Long, ret As Long
  
   'إذا كانت الأحرف التي تم الضغط عليها تتراوح بين 0 و Z
   If KeyCode >= vbKey0 And KeyCode <= vbKeyZ Then
  
   ret = SendMessage(Combo1.hwnd, &H14C&, -1, ByVal Combo1.Text)
  
         If ret >= 0 Then
            LenText = Len(Combo1.Text)
            Combo1.ListIndex = ret
            Combo1.Text = Combo1.List(ret)
            Combo1.SelStart = LenText
            Combo1.SelLength = Len(Combo1.Text) - LenText
            
         End If
   End If
End Sub

Very Happy
avatar
السنى
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 216
النقاط : 404
التقيم : 22
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
تستطيع الرد على المواضيع في هذا المنتدى