• 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

Button load ảnh từng phần

Các Module, Class, UserControl và thư viện OCX, DLL hỗ trợ cho Visual Basic
User avatar
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Posts: 517
Joined: Sat 28/05/2011 12:10 pm
Has thanked: 15 times
Been thanked: 83 times

Button load ảnh từng phần

Postby nhochoclaptrinh » Thu 09/06/2011 9:15 pm

Tên: Button load ảnh từng phần
Loại: User Control
Ngôn ngữ lập trình: VB6
Tác giả: Sưu tầm
Chức năng: Nút bấm :D

Một button tự tạo thường gồm ba ảnh ảnh lúc button trong trạng thái tự nhiên, lúc khi chuột hover và lúc khi press chuột.
Để tạo control này, ta hay chèn 3 imagebox hoặc picbox rồi add từng ảnh vào.
Cách này có nhiều bài nói đến rồi nhưng mình thấy bất tiện vì nhiều control, nhiều code để xử lý từng mouse_event, khi lưu ảnh ra ngoài phải tốn mất 3 file.

Vậy nên mình có ý tưởng này, không phải mới nhưng cũng hay.
Mình làm 4 ảnh Normal, Hover, Pressing, Disabled rồi chèn vào một file ảnh, như sau:
demo1.JPG
demo1.JPG (2.53 KiB) Viewed 4533 times


Theo thứ tự từ trên xuống dưới là trạng thái cuả Normal, Hover, Pressing, Disabled.
Cách hoạt động:
Khi tự nhiên thì set top property là 0
Khi hover thì set top property là -(imageheight / 4)
Khi pressing thì set top property là -(imageheight / 4) * 2
Khi disable thì set top property là -(imageheight / 4) * 3

Mình tạo ra hai cách hoạt động chia theo chiều dọc và ngang
Chiều ngang:
demo2.JPG
demo2.JPG (5.11 KiB) Viewed 4533 times


Khi sử dụng 4 ảnh trạng phải bằng nhau phải xếp khít nhau, để khi chia ảnh thì không vỡ giao diện của button
Hoàn chỉnh:
Attachments
ScendCuteButton.7z
(4.95 KiB) Downloaded 791 times
Last edited by nhochoclaptrinh on Sat 11/06/2011 9:56 pm, edited 3 times in total.



boy1234
Guru
Guru
Posts: 448
Joined: Mon 13/10/2008 3:12 pm
Location: Dĩ An - Bình Dương
Been thanked: 32 times

Re: Button đẹp từ một hình ảnh

Postby boy1234 » Fri 10/06/2011 2:10 am

Cái này chưa hẳn là 1 button. Do nó chỉ có mỗi 1 kích thước(hình như hơi vuông) không chỉnh được height và width.
Mình nghĩ đơn giản set lại hình cho từng trạng thái mouse thì không cần viết quá nhiều code :D

  1. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  2.     imgB.Picture = imgN
  3. End Sub
  4.  
  5. Private Sub imgB_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  6.     imgB.Picture = imgP
  7. End Sub
  8.  
  9. Private Sub imgB_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  10.     imgB.Picture = imgH
  11. End Sub
  12.  
  13. Private Sub imgB_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  14.     imgB.Picture = imgN
  15. End Sub
  16.  


Note: Tất nhiên vẫn bảo lưu ý kiến bạn "Button đẹp từ một hình ảnh"
Attachments
untitled.PNG
untitled.PNG (8.82 KiB) Viewed 4519 times
ButtonVB6.rar
(3.77 KiB) Downloaded 517 times
Dạo này nghiện honda SS50

User avatar
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Posts: 517
Joined: Sat 28/05/2011 12:10 pm
Has thanked: 15 times
Been thanked: 83 times

Re: Button kỹ thuật mới

Postby nhochoclaptrinh » Fri 10/06/2011 9:56 am

Hình như ban chưa hiểu ý mình [-( , nó là một button tùy chỉnh khi bạn thay đổi ảnh tại thuộc tính HinhAnhKyThuat, thì button sẽ khác, nó không có ảnh mặc định. Chiều dài và rộng của nó tùy theo ảnh đưa vào.
Nó hoạt động theo cách chia ảnh theo 4 phần (dọc hoặc ngang), theo thứ tự 4 phần là từng trạng thái của nó (mình nói rồi), công nghệ này tiện lợi được nhiều phần mềm hiện đại sử dụng.

Muốn thay đổi kích thước button, một là bạn chèn lệnh mới với thuộc tính strech của để khi resize control hai là thay đổi kích cỡ ảnh.
Bạn nên xem kỹ lại control mà mình up 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: Button kỹ thuật mới

Postby DQHung » Fri 10/06/2011 10:54 am

Cái này cũng ko phải là kỹ thuật mới gì đâu bạn, có nhiều bộ controls dùng cái này lắm. :D
Mình cũng đang hoàn thành cái theme dùng Picture như bạn nói (toàn dùng ảnh dạng Split) cho unicode full control, cũng gần xong cho hầu như tất cả các điều khiển trong UFC.
Tất nhiên Theme thì mình sẽ share source hết.

User avatar
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Posts: 517
Joined: Sat 28/05/2011 12:10 pm
Has thanked: 15 times
Been thanked: 83 times

Re: Button kỹ thuật mới

Postby nhochoclaptrinh » Fri 10/06/2011 11:25 am

Mình thấy mới thì ghi "mới" thôi. :-@

User avatar
truongphu
VIP
VIP
Posts: 4765
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 519 times

Re: Button kỹ thuật mới

Postby truongphu » Sat 11/06/2011 5:18 pm

Bạn nhochoclaptrinh đưa nhiều hình vào một ảnh theo vị trí nhất định
Khi làm việc, load ảnh từng phần...
Đây là nguyên lý của control VideoClip (SP6)
mà Video = nghĩa là hình động!

Project kèm sau có chèn control VideoClip
và hình minh họa cho project có 1 button
với hình động cụng ly quen thuộc
bên cạnh là code đơn giản load hình theo vị trí tùy thời gian (timer)
untitled.JPG


Tập tin CungLy.jpg đính kèm do tôi chèn hình như ý bạn nhochoclaptrinh,
có lẽ hơi xấu do kỹ thuật đồ họa chưa tốt

---
ghi chú: bài gởi trong Box đặc biệt nầy, bạn nhochoclaptrinh phải định dạng đầu bài viết theo đúng quy định mà Admin hướng dẫn trên,
hoặc là bài viết sẽ chuyển ra Box thắc mắc....
Attachments
Cung ly.rar
(8.22 KiB) Downloaded 441 times
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

User avatar
VuVanHoanh
Thành viên danh dự
Thành viên danh dự
Posts: 1259
Joined: Thu 03/06/2010 9:23 pm
Location: Kim Sơn - Đông Triều - Quảng Ninh
Has thanked: 22 times
Been thanked: 138 times
Contact:

Re: Button kỹ thuật mới

Postby VuVanHoanh » Sat 11/06/2011 6:38 pm

Haizz, ý tưởng của bạn nhochoclaptrinh chỉ đẹp đối với các button có kích cỡ nhỏ thôi, chứ kích cỡ to thì ảnh bị mờ dần, hoặc co dãn ảnh gây giật, trông không được đẹp mắt.

Trước đây, lúc mình chưa biết diễn đàn mình, mình cũng đã từng thử làm theo cách của bạn sau thấy không được nên đành thôi.
Since 2008...
One love! :x

User avatar
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Posts: 517
Joined: Sat 28/05/2011 12:10 pm
Has thanked: 15 times
Been thanked: 83 times

Re: Button kỹ thuật mới

Postby nhochoclaptrinh » Sat 11/06/2011 9:49 pm

Hi . :) Cách này bạn phải nhẫn nại đo từ bit mới mong chính xác được, Mình thấy giao diện Kaspersky tạo hiệu ứng cũng dùng phương pháo này
Dùng phương pháp này để tạo film từ image cũng hay đấy. :D :D :D
Last edited by nhochoclaptrinh on Sun 12/06/2011 2:07 pm, edited 1 time in total.

User avatar
VuVanHoanh
Thành viên danh dự
Thành viên danh dự
Posts: 1259
Joined: Thu 03/06/2010 9:23 pm
Location: Kim Sơn - Đông Triều - Quảng Ninh
Has thanked: 22 times
Been thanked: 138 times
Contact:

Re: Button load ảnh từng phần

Postby VuVanHoanh » Sun 12/06/2011 12:15 pm

Thì chính ảnh gif đó thôi. Nó được tạo từ các frame ảnh với thời gian x/100 giây. Rồi chạy liền mạch tạo thành ảnh gif chớ còn gì nữa???
Since 2008...
One love! :x


Return to “[VB] Module, Class, UserControl, OCX”

Who is online

Users browsing this forum: No registered users and 0 guests