PDA

View Full Version : combocox or listbox



bamzy
یک شنبه 29 آذر 1383, 14:11 عصر
با سلام خدمت همه دوستان.
من یک مشکل کوچک دارم همون طور که همه می دانید برای لیستی که درcombox استفاده می شود محدودیت هایی وجود دارد که تعداد گزینه های انتخابی را محدود میکند.ولی من می خواهم یک لیست 2000 خطی را در یک combox قرار بدهم.
خواستم ببینم کسی برای رفع این مشکل راهی سراغ نداره؟

Behrouz_Rad
یک شنبه 29 آذر 1383, 14:28 عصر
سلام.
امتحان کردم. مشکلی نداره.
:wise1:

H_r_m
یک شنبه 29 آذر 1383, 17:14 عصر
سلام
بهروز جان چی رو امتحان کردی :گیج:
شاید منظور دوستمون اینه که موقع باز کردن کومبو تعداد خاصی رکورد نمایش داده بشه :thnx:

Behrouz_Rad
دوشنبه 30 آذر 1383, 06:43 صبح
سلام.
ایشون به فارسی نوشتند:

من می خواهم یک لیست 2000 خطی را در یک combox قرار بدهم.
:wise1:

H_r_m
دوشنبه 30 آذر 1383, 09:31 صبح
سلام
خب منم به فارسی جواب دادم
ولی ایشون که نمیخواستند شما امتحان کنید
برفرض که من اشتباه کرده باشم شما حداقل جواب سوال منو که مربوط به همین کومبو هست رو میدادید شاید مشکل دوستمون هم یه جورایی مربوط باشه :wise2:

Payam Moradi
دوشنبه 30 آذر 1383, 11:13 صبح
سلام.
ایشون به فارسی نوشتند:

من می خواهم یک لیست 2000 خطی را در یک combox قرار بدهم.
:wise1:

سلام
جناب راد ناراحت نشید. ولی شما چرا اینقدر خنک پاسخ میدید. اگر فرصت کافی ندارید و مشتاق به کمک هستید خب یک فرصت مناسب پیدا کنید. قبولت داریم :sunglass:

ضمنا لیست ها و combox وی بی به اندازه رقم عدد Integer که الان حضور ذهن ندارم (فکر دو ور 34000 تا) در آنها لیست قرار میگیره. پس این رقمی که شما گفتید نباید خطایی بده.
اگر منظورتون منظور H_R_M هست برای combox یک برنامه هست میشه تعریف کرد هر چند تا بخواید رو نمایش بده. فکر کنم خودش هم در پروپرتیز گزینه ای داره.
اگر منظورتون لیست نیست و خطه که فکر نمیکنم منطقی باشه از combox استفاده کنید.
اگر منظورتون انتخاب چند مورد از یک combox هست باید بگم نمیشه. در combox فقط میشه یک مورد رو از اون رو انتخاب کرد و باید از لیست استفاده کنید.

موفق باشید :flower:

Behrouz_Rad
دوشنبه 30 آذر 1383, 12:24 عصر
سلام.
Range of Integer Types are: -32768 To 32767
من که نفهمیدم شماها چی میگین.
:گیج:

H_r_m
دوشنبه 30 آذر 1383, 13:20 عصر
سلام


Range of Integer Types are: -32768 To 32767
من که نفهمیدم شماها چی میگین.

شرمنده ها ولی اگه نمی فهمید هیچ اجباری به پاسخ دادن نیست :mrgreen:

پیام جان منظور من تو نشان دادن پیش فرض کمبو هستش همونطور که میدونید که اگه کمبو رو باز کنیم فقط تعدادی از ایتم ها رو نشون میده (فکر کنم 8 تا )
میخواستم ببینم میشه این تعداد رو کم و زیاد کرد
:thnx:

Behrouz_Rad
دوشنبه 30 آذر 1383, 13:36 عصر
یا من نمی دونم Combo Box چیه یا شماها..........
:گیج:

coral
دوشنبه 30 آذر 1383, 15:09 عصر
ببین منظور اینه که وقتی روی مثلث کنا کمبو کلیک می کنند که باز بشه مثلا 8 خط را نمایش می دهد می شود این عدد را بیشتر یا کمتر کرد که مثلا فقط یک خط زا نمایش بده

bahar60
دوشنبه 30 آذر 1383, 15:16 عصر
فکر کنم شما می خواهید که وقتی کامبو را باز می کنید لیستی که باز می شه بلند تر از معمول باشه به عبارتی تعداد آیتم هایی که در کامبو وجود داره و با باز کردن اون نمایش داده می شه در یک لحظه و بدون تغییر بار کنار کامبو را زیاد کنید مثلا در همون لحظه باز کردن کامبو بجای اینکه 8 تا آیتم را ببینید و بقیه با حرکت دیده بشه بشه مثلا 10 تا

امیدوارم من درست فهمیده باشم و مشکل شما را درست بیان کرده باشم وسط این دعوا :mrgreen:

bamzy
دوشنبه 30 آذر 1383, 16:22 عصر
با سلام خدمت همه دوستان عزیز.
می بخشید که من دیر جواب میدهم. خط اینترنتم مشکل داشت.فکر می کنم اگر زودتر جواب می دادم اینهمه بحث پیش نمی امد.اگر چه این بحث ها مفید است و وسط این بحث ها میشه چیز های زیادی یاد گرفت. اولا
از همه به خاطر توجه شان متشکرم.مخصوصا از آقای راد و مرادی.منظور من کلا پیدا کردن یک ocx combobox با امکانات بیشتر بود. البته روی اینترنت چند تایی پیدا کردم ولی رایگان نبود.

من الان می خواهم یک لیست 20000 خطی را وارد کنم (ببخشید در پست قبلی 2000 تایپ شده بود :sorry: بله با 2000 تا مشکلی نداره) ولی برنامه باید این امکان را داشته باشد که در آینده با افزایش سطر های لیست دچار خطا نشه.منظور من از قید این عدد این بود که با اعداد 4 رقمی کار میکنم و نگران خارج شدن از محدوده مجازش که دقیقا نمی دونستم چقدر است (و با توجه به صحبت آقای مرادی و راد متوجه شدم 32768 است) هستم. البته موقتا مشکل را به شکل دیگری حل کردم و از Combo Box استفاده نکردم.ولی خواستم ببینم کسی چیزی سراغ داره یا نه؟
به هر صورت واقعا از همگی متشکرم.شرمنده کردید. :thnx:

setarehman
دوشنبه 30 آذر 1383, 16:56 عصر
ببین منظور اینه که وقتی روی مثلث کنا کمبو کلیک می کنند که باز بشه مثلا 8 خط را نمایش می دهد می شود این عدد را بیشتر یا کمتر کرد که مثلا فقط یک خط زا نمایش بده
بله که میشه چرا نشه ما میتونیم براش محدودیت بذاریم

H_r_m
دوشنبه 30 آذر 1383, 20:59 عصر
سلام


فکر کنم شما می خواهید که وقتی کامبو را باز می کنید لیستی که باز می شه بلند تر از معمول باشه به عبارتی تعداد آیتم هایی که در کامبو وجود داره و با باز کردن اون نمایش داده می شه در یک لحظه و بدون تغییر بار کنار کامبو را زیاد کنید مثلا در همون لحظه باز کردن کامبو بجای اینکه 8 تا آیتم را ببینید و بقیه با حرکت دیده بشه بشه مثلا 10 تا

امیدوارم من درست فهمیده باشم و مشکل شما را درست بیان کرده باشم وسط این دعوا

اول اینو روشنش کنم که ما اینجا دعوایی نداریم و اینا همش اختلاطه و نظر :flower:

بعد آره همینو میخوام ولی این کار باید بدون اکتیو ایکس جداگانه انجام بشه(چون اون کمبو که تو ToolBox وی بی هست این قابلیت رو نداره (منظورم همون بقول شما تغییر بار هست )


بله که میشه چرا نشه ما میتونیم براش محدودیت بذاریم

میشه بگید چطوری :confy2:

اینجا هم از bamzy عزیز معذرت میخوام که تاپیکشون رو بزرگ کردم (فکر کردم مشکلتون همینه) :oops:

Behrouz_Rad
سه شنبه 01 دی 1383, 07:42 صبح
سلام.
آقا من تازه فهمیدم شما چی می خوای.
ببین عزیزم سوالت رو درست مظرح نکردی هممون رو گمراه کردی.
این که کاری نداره
باید به کنترلت Message ارسال کنی با تابع SendMessageLong:


Private Const CBM_FIRST As Long = &H1700
Private Const CB_SETMINVISIBLE As Long = (CBM_FIRST + 1)
Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As _
Long, ByVal lParam As Long) As Long

Private Sub Form_Load()
Dim Res As Long
Res = SendMessageLong(Combo1.hwnd, CB_SETMINVISIBLE, 3, 0&)
End Sub

من دقیقا ثابت CBM_FIRST رو خاطرم نیست که چند بود. احتمالا این نیست. اگر کد کار نکرد یعنی این عدد غلطه. یه Search کنی پیداش می کنی.
آرگومان سوم SendMessageLong هم حداکثر تعداد آیتم ها رو مشخص می کنه که وقتی ComboBox رو به پایین می یاد نمایش داده می شن.

برای نمایش تعداد زیادی از آیتم ها در ComboBox همون طور که خودت گفتی نیاز به ComboBox سفارشی داری که یا خودت می تونی بسازی یا اینکه یه جایی پیدا کنی.
در هر صورت برای ساخت ComboBox سفارشی باید از Picture Box به عنوان Main Object‌ استفاده کنی.
موفق باشی.
بهروز راد
:wise1:

bahar60
سه شنبه 01 دی 1383, 07:59 صبح
منظور من از دعوا این اختلاف نظر های جدی بود :sorry:

setarehman
سه شنبه 01 دی 1383, 08:11 صبح
این چیزی که شما اینجا نوشتی که جواب سوال ایشون نیست جناب راد کد شما میاد کارکترهای وارد شده رو به combo میفرسته و اگه کارکتر وارد شده توی combo پایین هست خودش combo رو میاره بالا تا قابل دیدن باشه

Behrouz_Rad
سه شنبه 01 دی 1383, 08:59 صبح
چیییییییییییییییییییییییی ییی؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟
من جدا از دوستان خواهش می کنم که قبل از اینکه در مورد کدی صحبت کنند در مورد اون تحقیق کنند و ببینند اصلا می دونن که اون کد چکار می کنه یا نه؟
آقای Setarehman شما کافیه که در سایت مایکروسافت دنبال کلمه CB_SETMINVISIBLE بگردی تا متوجه بشی این کد چکار می کنه و دقیقا تعداد آیتم های پیش فرض نمایش داده شده در ComboBox رو مشخص می کنه.
موفق باشید.
بهروز راد
:wise1:

H_r_m
سه شنبه 01 دی 1383, 09:46 صبح
سلام


ببین عزیزم سوالت رو درست مظرح نکردی هممون رو گمراه کردی.

شرمنده ام :oops:
اقا بهروز کدی که داده بودید کار نکرد خودتون امتحان کرده اید ::نوشتن::

Behrouz_Rad
سه شنبه 01 دی 1383, 10:48 صبح
سلام.
من که خدمتتون عرض کردم ثابت CBM_FIRST رو یادم رفته چیه.
شما یه Search بکن پیداش می کنی.
ولی این کد درسته مطمئن باشید.
:wise1:

H_r_m
سه شنبه 01 دی 1383, 20:55 عصر
سلام
بهروز جان ثابته درسته ولی نمیدونم چرا کار نمیکنه :گیج:

H_r_m
جمعه 04 دی 1383, 14:01 عصر
:گیج: :گیج: :confy2:

H_r_m
یک شنبه 06 دی 1383, 15:53 عصر
سلام
پس چی شد بهروز خان :wink:

Behrouz_Rad
دوشنبه 07 دی 1383, 08:45 صبح
نگفتی که منتظر جواب منی.
والا باید بگردم.
اگر فهمیدم به U هم میگم.
با بایییییییییی
:D

H_r_m
دوشنبه 07 دی 1383, 14:15 عصر
سلام
اخه مگه غیر از U کسی جواب منو داده بود :sunglass:

Behrouz_Rad
دوشنبه 07 دی 1383, 14:54 عصر
اینقدر سوال و جواب اینجا مظرح میشه که دیگه من نمی دونم به کی چی گفتم.
:wink:

H_r_m
چهارشنبه 09 دی 1383, 19:12 عصر
سلام
بهروز خان پس چی شد :گیج:

coral
دوشنبه 12 بهمن 1383, 07:52 صبح
ببخشید دوستان من یک سوال برایم پیش اومده که به عنوان تاپیک دیگه اونو مطرح نکردم وفکر کردم بهتره همین جا اونو بنویسم چون اشاراتی هم در این جا به اون مشکل شده بود.

من می خواهم وقتی combo box را کاربر باز می کند ارتفاعش از حد معمول بلند تر شود. کسی می تواند به من کمک کند؟

spidermanX
دوشنبه 12 بهمن 1383, 16:51 عصر
ببخشید میشه بپرسم منظورتون از ارتفاع چیه؟
اگر منظور ارتفاع بخشی هست که در حالت معمول(بسته بودن)دیده میشه که همون height کنترل هست و اگه منظورتون ارتفاع بخشی هست که با باز کردن اون نمایش داده میشه هم که در این تاپیک بحث شد.
:sunglass:

coral
سه شنبه 13 بهمن 1383, 08:40 صبح
منظورم ارتفاع آن هنگامی که باز می شود است...

coral
شنبه 24 بهمن 1383, 06:58 صبح
ببینید در تصویر زیر فقط 8 ایتم اول کمبو نمایش داده می شود. من می خواهم تعداد بیشتری را نمایش بدهم.

H_r_m
شنبه 24 بهمن 1383, 09:12 صبح
سلام
خب سوال منم همین بود :wise2:

حامد مصافی
شنبه 24 بهمن 1383, 19:07 عصر
چطور می توان تعداد آیتم هایی را که کامبوباکس پس از باز شدن نمایش میدهد ( بدون اسکرول ) را اضافه کرد .
خود وی بی که چنین امکانی ندارده ؛ شاید با API بشه :گیج: