امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
یه سوال در مورد listbox و combobox
نویسنده پیام
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #1
یه سوال در مورد listbox و combobox
سلام
یه سوال داشتم ممنون میشم راهنمایی کنید
سوالم اینه که یه listbox داریم حاوی مثلا 50 تا اسمه و یه combobox هم داریم
حالا فرض کنید تو لیست باکس اسم های
ali
mohammad
maryam
arman
هست وقتی که در combobox حزف اول افراد را تایپ کردیم مثلا (m) و وقتی که دکمه tab زا زدیم بقیه اسمش حدس زده بشه و دوباره اگر دکمه tab زدیم بره رو اسم بعدی (یعنی اینکه اسمش حدس زده بشه و تایپ بشه در combobox) توجه اسمهای که در لیست باکس هست از قبل تعریف نشده و میتونه هر اسمی باشه.
ممنون میشم دوستان راهنمایی کنن

(آخرین ویرایش در این ارسال: ۰۵-اردیبهشت-۱۳۸۸, ۰۷:۲۵:۴۶، توسط Mr.pRoGraMmer.)
۰۵-اردیبهشت-۱۳۸۸, ۰۷:۲۴:۵۶
وب سایت ارسال‌ها
پاسخ
far_222000 آفلاین
مدير بخش ديتابيس
*****

ارسال‌ها: 955
موضوع‌ها: 68
تاریخ عضویت: شهریور ۱۳۸۴

تشکرها : 468
( 1249 تشکر در 422 ارسال )
ارسال: #2
RE: یه سوال در مورد listbox و combobox
با استفاده از API ها می تونی این کار رو انجام بدی.
API یی که بهش احتیاج داری SendMessage هستش.

با این دستور API رو تعریف می کنی:
کد:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long

حالا باید یه مقدار Constant رو تعریف کنی که می شه:
کد:
Const LB_FINDSTRING = &H18F

این دستورات رو هم توی رویداد Combo1_Change می نویسی:
کد:
List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Combo1.Text))

پارک24
مرجع خرید و فروش خودرو
۰۵-اردیبهشت-۱۳۸۸, ۱۱:۰۷:۰۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #3
RE: یه سوال در مورد listbox و combobox
سلام اینکارو انجام داده بودم اما وقتی اینکارو میکنی فقط اشاره میکنه به اسم تو لیست باکس انگاری روش کلیک کردی من میخوام کاری کنم که دکمه tab را فشار دادی بیاردتش تو comobox وقتی که حرف a را تایپ کردی مثال تایپ میکنیم a بعد برنامه میبینه یه اسم amin هست تو لیست باکس وقتی که بهش اشاره کرد دکمه tab را فشار یدی و بقیه اسم را واست به صورت اتومات تایپ کنه

(آخرین ویرایش در این ارسال: ۰۵-اردیبهشت-۱۳۸۸, ۱۱:۳۵:۴۱، توسط Mr.pRoGraMmer.)
۰۵-اردیبهشت-۱۳۸۸, ۱۱:۳۵:۰۳
وب سایت ارسال‌ها
پاسخ
far_222000 آفلاین
مدير بخش ديتابيس
*****

ارسال‌ها: 955
موضوع‌ها: 68
تاریخ عضویت: شهریور ۱۳۸۴

تشکرها : 468
( 1249 تشکر در 422 ارسال )
ارسال: #4
RE: یه سوال در مورد listbox و combobox
خب، ادامه دستوراتی که توی Combo1_Change نوشتم بنویس دیگه! این که کاری نداره.
باید یه Hook بنویسی که اگه دکمه فشرده شده Tab بود، مقدار انتخاب شده از List1 رو بریزه توی Combo1

پارک24
مرجع خرید و فروش خودرو
۰۵-اردیبهشت-۱۳۸۸, ۱۱:۳۸:۳۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #5
RE: یه سوال در مورد listbox و combobox
والا من یه بار نوشتم ریخت بهم نفهمیدم چی شد مشکل پیدا کردم اگر میشه اونم توضیح بده اصله کاری اونه
ممنون میشم

۰۵-اردیبهشت-۱۳۸۸, ۱۱:۵۰:۰۹
وب سایت ارسال‌ها
پاسخ
far_222000 آفلاین
مدير بخش ديتابيس
*****

ارسال‌ها: 955
موضوع‌ها: 68
تاریخ عضویت: شهریور ۱۳۸۴

تشکرها : 468
( 1249 تشکر در 422 ارسال )
ارسال: #6
RE: یه سوال در مورد listbox و combobox
یه پروژه جدید باز می کنی. یه لیست باکس، یه کامبوباکس و یه تایمر به نام های List1، Combo1 و Timer1 توش می کشی
حالا عین کد زیر رو می نویسی:
کد:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Const LB_FINDSTRING = &H18F

Private Sub Combo1_Change()

List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Combo1.Text))

End Sub

Private Sub Timer1_Timer()

    KeyResult = GetAsyncKeyState(9)
    If KeyResult = -32767 Then
        Combo1.Text = List1.Text
    End If

End Sub

برنامت آمادست فقط باید داخل لیست باکس رو پر کنی. می تونی از این اسم ها هم استفاده کنی:
کد:
Ali
Amir
Mahboob
Mahdis
Mahshid
Majid
Mandana
Masoud
Maziar
Mehrdad
Melisa
Mohammad
Mohsen
Mona

پارک24
مرجع خرید و فروش خودرو
۰۵-اردیبهشت-۱۳۸۸, ۱۳:۵۸:۳۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #7
RE: یه سوال در مورد listbox و combobox
سلام
ممنون من نوشتمش اما یه مشکل داره همه اون کارها را میکنه اما وقتی میخوام دکمه tab بزنم اسم هم حدس میزنه ولی بصورت پر رنگ اسم انتخاب میشه و میخوام وقتی که اسم حدس زده میشه بشه جلوی همون اسم تایپ کرد.
ممنون میشم راهنمایی کنید

۰۵-اردیبهشت-۱۳۸۸, ۲۲:۰۶:۲۸
وب سایت ارسال‌ها
پاسخ
far_222000 آفلاین
مدير بخش ديتابيس
*****

ارسال‌ها: 955
موضوع‌ها: 68
تاریخ عضویت: شهریور ۱۳۸۴

تشکرها : 468
( 1249 تشکر در 422 ارسال )
ارسال: #8
RE: یه سوال در مورد listbox و combobox
به اینی که دنبالش می گردی می گن AutoComplete، این یه قابلیت برای اشیایی هست که می شه توشون تایپ کرد.
AutoComplete به صورت پیش فرض توی دات نت وجود داره، توی وی بی 6 نیستش ولی. یه سرچ بکن، اگه چیزی پیدا نکردی بگو واست می نویسم

پارک24
مرجع خرید و فروش خودرو
۰۶-اردیبهشت-۱۳۸۸, ۰۰:۱۷:۳۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #9
RE: یه سوال در مورد listbox و combobox
سلام
دستت نکنه جبران میکنم
شرمنده
والا زیاد دنبالش گشتم پیدا نکردم یادم رفته یه کاری میشد که بعد از اینکه دکمه tab را زدی کلمه حدس زده شد بشه جلوش تایپ کنی نمیدونم دیگه فکرم کار نمیکنه
اگر میشه واسم بنیویس چون دنبالش زیاد بودم دیگه کم کم باید برم سراغ دات نت بازم ممنون اقا فرید

۰۶-اردیبهشت-۱۳۸۸, ۰۰:۲۷:۱۵
وب سایت ارسال‌ها
پاسخ
far_222000 آفلاین
مدير بخش ديتابيس
*****

ارسال‌ها: 955
موضوع‌ها: 68
تاریخ عضویت: شهریور ۱۳۸۴

تشکرها : 468
( 1249 تشکر در 422 ارسال )
ارسال: #10
RE: یه سوال در مورد listbox و combobox
تا الان هر چی کد نوشتی رو پاک کن! اون تایمر رو هم پاک کن! حالا این کدها رو بنویس:
کد:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private WTxt As String
Private S As Boolean
Const LB_FINDSTRING = &H18F

Private Sub Combo1_Change()

    KeyResult = GetAsyncKeyState(8)
    If S = False Then
        WTxt = Combo1.Text
        List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Combo1.Text))
    End If
    S = True
    If List1.Text <> "" And KeyResult <> -32767 Then
        Combo1.Text = List1.Text
        Combo1.SelStart = Len(WTxt)
        Combo1.SelLength = Len(List1.Text) - Len(WTxt)
    End If
    S = False
      
End Sub

پارک24
مرجع خرید و فروش خودرو
۰۶-اردیبهشت-۱۳۸۸, ۰۰:۵۴:۱۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #11
RE: یه سوال در مورد listbox و combobox
سلام فرید جان ممنون از کمکت دستت درد نکنه
اما tab کار نمیکنه اسم هم حدس میزنه اتومات تایپش میکنه اما اخرش نمیره خواستم sendkyes کنم دکمه end را تا بره اخر خط نشد بهم اچازه نداد میخوام بیبینم راهی دیگه نیست فرید جان؟

۰۶-اردیبهشت-۱۳۸۸, ۰۹:۵۱:۵۰
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] تغییر مقدار ComboBox با تایمر محمدعلي 1 2,327 ۲۷-مرداد-۱۳۹۳, ۱۱:۵۱:۳۵
آخرین ارسال: Vb6Moderator
  سوال در مورد ماژول وینساک gachboy 5 4,476 ۲۲-بهمن-۱۳۹۲, ۱۷:۴۳:۵۲
آخرین ارسال: gachboy
  سوال در مورد بدست آوردن سورس Hacker_2010 7 6,056 ۰۵-مرداد-۱۳۹۲, ۰۰:۵۴:۵۰
آخرین ارسال: babyy
  [سوال] یک سوال در مورد بانک اطلاعاتی ترانسپورتر 10 7,734 ۳۱-تير-۱۳۹۲, ۲۰:۱۲:۰۹
آخرین ارسال: Ghoghnus
  سوال در مورد کنترل Webbrowser Cr4ShD4Y 2 3,011 ۱۶-تير-۱۳۹۲, ۱۱:۴۱:۰۹
آخرین ارسال: kimiafars
  سوال در مورد کریستال ریپورت؟؟ ahp_online 1 3,018 ۲۵-خرداد-۱۳۹۲, ۱۰:۰۷:۱۷
آخرین ارسال: Ghoghnus
Sad سوال در مورد ارسال پی ام در یاهو مسنجر blackhacking21 6 5,269 ۱۷-فروردین-۱۳۹۲, ۱۰:۵۰:۵۱
آخرین ارسال: lord_viper
  [سوال] یک سوال ساده در مورد هندل thinkdiff 1 2,838 ۱۴-فروردین-۱۳۹۲, ۱۳:۱۶:۲۸
آخرین ارسال: Di Di
  جابجایی اسامی listbox aleas 3 2,152 ۰۷-آذر-۱۳۹۱, ۱۳:۴۸:۳۱
آخرین ارسال: aleas
  سوال در مورد درگ ایتم های لیست ویو sevdaboy 1 2,635 ۲۳-بهمن-۱۳۹۰, ۱۳:۳۰:۳۴
آخرین ارسال: Di Di

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 4 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS