PDA

View Full Version : سوال: رفتن به انتها در اسکرول بار در لیست باکس



hackershz
چهارشنبه 26 فروردین 1388, 12:29 عصر
با سلام و خسته نباشید به دوستان عزیز دوستان من

من میخوام توی لیست باکس یا هر چیز دیگه اسکرول بار بره به انتها
مثلا یه دکمه داشته باشم وقتی روش کلیک کنم بره آخر اسکورل بار
مثل این عکس

http://upload.iranblog.com/1/1239816707.gif

سپس وقتی روی دکمه یا چیزی کلیک میکنی اونو اکرول بار بیاد پایین پایین یعنی به انتها برسه
وانجوری بشه

http://upload.iranblog.com/1/1239862926.gif
کسی میتونه راهنمایی کنه ؟ ممنون میشم :خجالت:

sh2007
چهارشنبه 26 فروردین 1388, 12:35 عصر
سلام دوست من

list1.listIndex = listCount - 1

hackershz
چهارشنبه 26 فروردین 1388, 12:44 عصر
نه دوست عزیز منظورم اکرول باری هست که توی لیست باکسه
نه ربطی به لیست باکس نداره من میخوام اسکرول بار با کلیک بر روی یک دکمه برسه به انتها
منظورم اینه
http://upload.iranblog.com/1/1239786796.gif
کسی میتونه راهنمایی کنه ؟ وافعا کار گیره ؟

sh2007
چهارشنبه 26 فروردین 1388, 12:48 عصر
من میخوام اسکرول بار با کلیک بر روی یک دکمه برسه به انتها
منظورم اینه
http://upload.iranblog.com/1/1239786796.gif
کسی میتونه راهنمایی کنه ؟ وافعا کار گیره ؟

خب وقتي اون كد رو تي رويداد كليك كمند باتن بذاري بعد از كليك اسكرول با به آخر مي ياد دقيقا همين چيزيه كه شما گفتيد علاوه بر اين آخرين ركورد ليست رو هم نشون مي ده اگه چيزي ديگه منظورته توضيح بده

hackershz
چهارشنبه 26 فروردین 1388, 12:51 عصر
دوست عزیز اسکرول بار توی لیست باکس هست توی تکست باکس است توی بیشتر اشیای وی بی است
لطفا یه مثالی بزنید که من یاد بگیرم تو هر چیزی اسکرول بار رو به انتها برسونم

مثلا من میخوام توی webborwoser این کارو بکنم باید چه کار کنم ؟ خوب بابا فرق میکنه من میخوام ببینم چه کار کنم بره آخر اسکرول بار یه نفر نیست به ما کمک کنه ؟

Mbt925
چهارشنبه 26 فروردین 1388, 12:54 عصر
List1.TopIndex = List1.ListCount - 1

hackershz
چهارشنبه 26 فروردین 1388, 12:57 عصر
ببین ممکنه من بخوام توی هر چیزی اسکرول بار رو بیارم پایین مثلا توی این که اسرول بار بالا هست میخوام کاری کنم که با کلیک روی یک دکمه اسکرول بار بیاد به پایین پایین
http://upload.iranblog.com/1/1239814149.gif

که یک webborwser است که توی کامپونت های خود ویندوز است لطفا یه راهنمایی بکنید ؟

Mbt925
چهارشنبه 26 فروردین 1388, 13:35 عصر
دوست عزیز سوال تون رو کامل مطرح کنید.
شما در مورد لیست باکس پرسیدید و من پاسختون رو دادم.

ولی اگه می خواین برای هر پنجره ی اسکرول داری این عمل رو انجام بدید باید از توابع API استفاده کنید.
برای این منظور نیاز به داشتن هندل (دستگیره) پنجره ی موردنظر دارید . اگه شیء موردنظر توی برنامه خودتونه که مشکلی نیست. برای دسترسی به هندلش از خصوصیت HWND اون استفاده کنید. در غیر اینصورت باید بازم با استفاده از یه تابع API دیگه هندل پنجره موردنظر رو پیدا کنید.

حال فرض می کنیم هندل پنجره رو دارید. کد زیر اسکرول بار پنجره موردنظر که می تونه هر چیزی باشه رو به انتهای صفحه منتقل می کنه.




Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long

Private Const WM_VSCROLL As Integer = &H115
Private Const SB_BOTTOM As Integer = 7

Call SendMessage(Text1.hWnd, WM_VSCROLL, SB_BOTTOM, 0)

hackershz
چهارشنبه 26 فروردین 1388, 13:53 عصر
حتی تو کد هم ارور داده توقع دارید توی وی بی جواب بده ؟>

Babak.Hassanpour
چهارشنبه 26 فروردین 1388, 13:57 عصر
راه اصولی همونیه که مدیر محترم فرمودند ولی واسه شما که از هندل سر در نمیاری یا هر چیز دیگه ، باید عرض کنم که یه راه ساده هم هست



SendKeys "{Tab}"
webbrowser1.SetFocus
SendKeys "{End}"



با یک بار شبیه سازی فشردن کلید تب ،فوکوس از کنترل مذکور گرفته میشه. سپس دوباره فوکوس می کنیم روش (نپرس چرا برو امتحان کن ببین فرقش چیه) بعد هم دکمه End فرستاده میشه تا بره ته اسکرول
تمام

کلموا الناس علی قدر عقولهم

Mbt925
چهارشنبه 26 فروردین 1388, 14:21 عصر
کدی که قرار دادم برای اشیائی که هندل دارن به درستی جواب میده.
برای حرکت دادن اسکرول بار کنترل WebBrowser از روش زیر استفاده کنید:



WebBrowser1.Navigate ("javascript:scroll(0,10000000);")