• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Cuộn listbox bằng code?

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Moderator: tungblt

User avatar
playgemboy
Thành viên danh dự
Thành viên danh dự
Posts: 289
Joined: Sun 13/04/2008 6:10 am
Location: Bình Phú, Quận 6, TP.HCM
Been thanked: 1 time
Contact:

Cuộn listbox bằng code?

Postby playgemboy » Sun 06/07/2008 1:54 pm

Em đang định giả làm cái thanh cuộn cho listbox (tại cái của nó xấu quá). Có ai biết cách cuộn nó bằng code không nhỉ?Nhìn hình thì hiểu ý em muốn làm gì:
scoll.jpg
scoll.jpg (20.53 KiB) Viewed 3383 times

Có ai biết không nhỉ? Gợi ý thôi cũng được, làm được rồi thì càng tốt :D


<I Come Back>

User avatar
anhtuyenbk
Guru
Guru
Posts: 1311
Joined: Thu 22/09/2005 4:12 pm
Location: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 times

Re: Cuộn listbox bằng code?

Postby anhtuyenbk » Sun 06/07/2008 2:39 pm

Hiiểu rồi >:) >:)
Cái này em nên học về làm user control (tạo một cái listbox rồi dùng cái scroll bar mới đè che mất cái cũ của listbox). Cuộn list box ở đây chính là điểu khiển vị trí cái image, cần các giá trị sau max (tương ứng với listbox.listcount),min=0, value- index item hiện tại.
Dựa vào cái giá trị value xác định vị trí cục gạch cho phù hợp>:)
Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

User avatar
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Posts: 1641
Joined: Wed 16/04/2008 11:25 am
Location: Chợ Lách - Bến Tre
Been thanked: 31 times
Contact:

Re: Cuộn listbox bằng code?

Postby clarkkent » Sun 06/07/2008 3:08 pm

1 ListBox sưu tầm (UserControl)...
CoolListBox.PNG
CoolListBox.PNG (10.11 KiB) Viewed 3365 times
Attachments
CoolListbox.rar
(34.81 KiB) Downloaded 443 times
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

User avatar
playgemboy
Thành viên danh dự
Thành viên danh dự
Posts: 289
Joined: Sun 13/04/2008 6:10 am
Location: Bình Phú, Quận 6, TP.HCM
Been thanked: 1 time
Contact:

Re: Cuộn listbox bằng code?

Postby playgemboy » Mon 07/07/2008 2:26 pm

Hic, anh clanh ke ơi, cái listbox anh post lên khá hay, but đó là làm lại từ đầu của thằng listbox luôn rồi, cho nên hình cái scoll thế nào chả được, mục đích chính của em hỏi là có cách nào "Set" được vị trí cái Scollbar (thật) bằng code không?(đừng nói lấy chuột kéo nha :D), nếu được thì mọi việc đơn giản hơn nhiều. cần chi phải chèn thêm một user control. :D
Cái này em nên học về làm user control (tạo một cái listbox rồi dùng cái scroll bar mới đè che mất cái cũ của listbox) . Cuộn list box ở đây chính là điểu khiển vị trí cái image, cần các giá trị sau max (tương ứng với listbox.listcount),min=0, value- index item hiện tại.
Em chỉ cần làm có một cái, không nên tạo user control cho cực
Dựa vào cái giá trị value xác định vị trí cục gạch cho phù hợp>:)
Xác định vị trí "cục gạch" thì coi như tạm ổn, thế nhưng làm thế nào để khi kéo "cục gạch" thì đồng thời cái list cũng Scoll luôn?
<I Come Back>

User avatar
anhtuyenbk
Guru
Guru
Posts: 1311
Joined: Thu 22/09/2005 4:12 pm
Location: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 times

Re: Cuộn listbox bằng code?

Postby anhtuyenbk » Mon 07/07/2008 2:56 pm

Em chỉ cần làm có một cái, không nên tạo user control cho cực

chỗ này anh chưa hiểu lắm, có phải ý emlà tạo ra một cái scrollbar mới rồi lấy nó đè lên cái cũ của listbox phải ko? Nếu em muốn dùng lại nhiều lần thì làm usercontrol cho tiên.
Dựa vào cái giá trị value xác định vị trí cục gạch cho phù hợp>:)
Xác định vị trí "cục gạch" thì coi như tạm ổn, thế nhưng làm thế nào để khi kéo "cục gạch" thì đồng thời cái list cũng Scoll luôn?[/quote]
Khi em kéo cục gạch đi--> dựa vào vị trí đó suy ra chỉ số value (index của listbox)--> gán lại index này cho listtbox thì các scrollbar của listbox sẽ đi theo thôi >:) >:)
Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

User avatar
playgemboy
Thành viên danh dự
Thành viên danh dự
Posts: 289
Joined: Sun 13/04/2008 6:10 am
Location: Bình Phú, Quận 6, TP.HCM
Been thanked: 1 time
Contact:

Re: Cuộn listbox bằng code?

Postby playgemboy » Tue 08/07/2008 8:12 pm

anhtuyenbk wrote:
Em chỉ cần làm có một cái, không nên tạo user control cho cực

chỗ này anh chưa hiểu lắm, có phải ý emlà tạo ra một cái scrollbar mới rồi lấy nó đè lên cái cũ của listbox phải ko? Nếu em muốn dùng lại nhiều lần thì làm usercontrol cho tiên.

Thì có nghĩa là em chỉ xài có một cái thôi :D

Dựa vào cái giá trị value xác định vị trí cục gạch cho phù hợp>:)
Xác định vị trí "cục gạch" thì coi như tạm ổn, thế nhưng làm thế nào để khi kéo "cục gạch" thì đồng thời cái list cũng Scoll luôn?

Khi em kéo cục gạch đi--> dựa vào vị trí đó suy ra chỉ số value (index của listbox)--> gán lại index này cho listtbox thì các scrollbar của listbox sẽ đi theo thôi >:) >:)

Em hiểu ý anh rồi, nhưng nếu gán listindex thì item đó sẽ bị chọn-> ko được rồi, gán tiếp listindex = - 1 -> ok, Cảm ơn ATBK nhé! :>
<I Come Back>

User avatar
playgemboy
Thành viên danh dự
Thành viên danh dự
Posts: 289
Joined: Sun 13/04/2008 6:10 am
Location: Bình Phú, Quận 6, TP.HCM
Been thanked: 1 time
Contact:

Re: Cuộn listbox bằng code?

Postby playgemboy » Thu 17/07/2008 1:03 pm

Em làm được rồi, nhưng...mọi việc sẽ suôn sẻ cho tới khi người dùng scoll bằng nút cuộn chuột. Chẳng có cách nào để làm cho cái scoll "dởm" đi theo hết trơn. :((
<I Come Back>

User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

Re: Cuộn listbox bằng code?

Postby vo_minhdat2007 » Thu 17/07/2008 5:35 pm

playgemboy wrote:Em làm được rồi, nhưng...mọi việc sẽ suôn sẻ cho tới khi người dùng scoll bằng nút cuộn chuột. Chẳng có cách nào để làm cho cái scoll "dởm" đi theo hết trơn. :((

Bạn dùng sự kiện Mouse_Wheel, với Delta là 120 hoặc -120.

User avatar
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Posts: 1641
Joined: Wed 16/04/2008 11:25 am
Location: Chợ Lách - Bến Tre
Been thanked: 31 times
Contact:

Re: Cuộn listbox bằng code?

Postby clarkkent » Fri 18/07/2008 12:41 pm

vo_minhdat2007 wrote:
playgemboy wrote:Em làm được rồi, nhưng...mọi việc sẽ suôn sẻ cho tới khi người dùng scoll bằng nút cuộn chuột. Chẳng có cách nào để làm cho cái scoll "dởm" đi theo hết trơn. :((

Bạn dùng sự kiện Mouse_Wheel, với Delta là 120 hoặc -120.

vb6 hình như không có sự kiện Mouse_Wheel :-/
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

User avatar
DQHung
Guru
Guru
Posts: 576
Joined: Mon 12/02/2007 3:24 pm
Location: Rach Gia - Kien Giang
Been thanked: 40 times
Contact:

Re: Cuộn listbox bằng code?

Postby DQHung » Fri 18/07/2008 8:26 pm

clarkkent wrote:vb6 hình như không có sự kiện Mouse_Wheel :-/

Subclass là có ngay.Subclass cái listbox đó và truyền thông tin cho scroll giả.

User avatar
playgemboy
Thành viên danh dự
Thành viên danh dự
Posts: 289
Joined: Sun 13/04/2008 6:10 am
Location: Bình Phú, Quận 6, TP.HCM
Been thanked: 1 time
Contact:

Re: Cuộn listbox bằng code?

Postby playgemboy » Sun 20/07/2008 5:04 pm

Bac DQHung demo cho em với, Subclass với Hook gì gì đó thì em chịu, chẳng hiểu cách thức...
<I Come Back>

User avatar
DQHung
Guru
Guru
Posts: 576
Joined: Mon 12/02/2007 3:24 pm
Location: Rach Gia - Kien Giang
Been thanked: 40 times
Contact:

Re: Cuộn listbox bằng code?

Postby DQHung » Thu 24/07/2008 9:50 pm

Code demo đây,nhưng chắc hok có vừa ý của bạn :) .
Demo.rar
Scroll List demo
(5.84 KiB) Downloaded 342 times

User avatar
playgemboy
Thành viên danh dự
Thành viên danh dự
Posts: 289
Joined: Sun 13/04/2008 6:10 am
Location: Bình Phú, Quận 6, TP.HCM
Been thanked: 1 time
Contact:

Re: Cuộn listbox bằng code?

Postby playgemboy » Fri 25/07/2008 1:56 pm

Ồ, hay thiệt,coi như ổn, giá như em hiểu kĩ về mấy cái subclass này nhỉ, hiện tại thì chỉ biết xài mà thôi :D, cảm ơn anh DHung nhiều nhé!

#anh có tài liệu hay liên kết nào hướng dẫn học căn bản về hook và class không anh? (mấy bài giới thiệu Hook chuột or bàn phím, em đọc but ko hiểu, chỉ biết "past rồi chạy")
<I Come Back>

User avatar
DQHung
Guru
Guru
Posts: 576
Joined: Mon 12/02/2007 3:24 pm
Location: Rach Gia - Kien Giang
Been thanked: 40 times
Contact:

Re: Cuộn listbox bằng code?

Postby DQHung » Sat 26/07/2008 10:11 pm

playgemboy wrote:#anh có tài liệu hay liên kết nào hướng dẫn học căn bản về hook và class không anh? (mấy bài giới thiệu Hook chuột or bàn phím, em đọc but ko hiểu, chỉ biết "past rồi chạy")


Tài liệu thì ko có, nhưng muốn học hook với subclass thì học qua sourse là tốt nhất.
Nếu tự ta làm các wndProc thì tốn thời gian mà lại mất công,thay vì có nhửng cái có sẳn rất hay tại sao ta lại ko xài ! Cứ lên PSC mà down về.Sử dụng Hàm Subclass/Hook cũng đơn giản (Tuỳ vào sourse mà bạn sử dụng sẽ có hướng dẩn).
Ví dụ như dùng cái mà mình gởi ở trên :
Làm trình tự từng bước 1.
Đầu tiên là
Implements ISubclass
Sau đó tấn công các Msg (Thông điệp) bằng hàm AttachMessage(Nơi Implements,hWnd cần Subclass,Thông điệp) và gở bỏ thông điệp = hàm DetachMessage (cấu trúc như trên)
Các hàm đó có thể đặt trong Form_Load (Khi Đối tượng là Form), đặt trong UserControl_ReadProperties( khi đối tượng là Usercontrol)
Cuối cùng là sử lý WindowProc bằng bẩy = ISubclass_WindowProc
Sử lý các biến của hàm trên để lấy các thứ mình cần.

Còn hook thì cao hơn.Có thể can thiệp khi window mới được tạo-có thể sửa thông điệp trước khi nó đến window ... rất nhiều, mà cũng rất nguy hiểm khi chỉ có 1 lỗi (dù nhỏ xíu) => treo máy >:) => mất hết công sức làm nãy giờ :P .


Return to “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Who is online

Users browsing this forum: No registered users and 9 guests