MFC – Bài 4: Sử dụng List View
Chào mừng các bạn đến với chủ đề : Học Lập Trình MFC
Trong bài viết này mình sẽ nói về List View. Một trong những control ưu điểm và tiện lợi hơn so với list box.
Có thể nó không sử dụng rộng rãi như các control cơ bản khác,
nhưng trong một mục đích nào đó, vai trò của nó khá quan trọng và cần thiết.
1. Mục đích sử dụng.
List View cho phép chúng ta hiển thị thông tin theo dạng phân các cột và dòng.
Ví dụ bạn có một list các thông tin nào và thông tin đó được phân loại theo các cột thì list view rất được ưu ái để sử dụng.
Ví dụ tôi có thông tin về lương của một nhân viên.
Lương được tính theo nhiều mục như là:
+ Lương cơ bản.
+ Thưởng dự án.
+ Tiền đóng thuế.
Vậy thì khi in một danh sách các bảng lương như vậy cho mỗi nhân viên với nhiều mục liệt kê ở trên.
Thì người lập trình, thiết kế phần mềm có thể nghĩ đến việc sử dụng list view.
Bên cạnh đó:
Ngoài việc hiển thị các thông tin, list view còn được sử dụng cho mục đích chọn lựa.
Khi một danh sách các thông tin được liệt kê, người sử dụng có thể muốn mở rộng chương trình hơn,
họ muốn chọn một dòng thông tin trong list để thực hiện một nhiệm vụ nào đó.
Ví dụ: muốn chọn dòng 1, dòng 3, dòng 5 để in ra file.
Thì list view đáp ứng được điều này dễ dàng,
nó cho phép người dùng thao tác được với các item của nó,
các dòng của list view để thực hiện các mục đích mở rộng hơn, nâng cao hơn, tùy biến hơn.
2. Bài toán thực hành
Vẫn với bài toán như ở bài trước.
Nhập thông tin một con người bao gồm :
Tên, tuổi, giới tính. Hãy sử dụng list view thay cho list box để hiển thị.
Kết quả mong muốn:
Hãy cùng xem video để thực hành
Cảm ơn anh về loạt bài viết MFC này ạ.Đúng lúc em đi thực tập về C++.Hy vọng sẽ học hết những gì anh chia sẻ về C++.
Hi, chúc em đạt kết quả cao trong kỳ thực tập và sớm có một công việc ưng ý ha.
Anh ơi.em có tìm kiếm tài liệu về phần listview nâng cao mà tài liệu tiếng việt,video hướng dẫn khan hiếm quá.Có loạt bài của codeproject.
https://www.codeproject.com/Articles/13383/ListCtrl-A-WTL-list-control-with-Windows-Vista-sty
https://www.codeproject.com/Articles/29064/CGridListCtrlEx-Grid-Control-Based-on-CListCtrl
Mà em thì ko biết dùng cách nào để hiểu về hai bài viết này.
Anh có cách nào giúp em với ạ.
Do em đi thực tập công ty em không ai nghiên cứu về C++.
Mà em thì mong muốn tìm hiểu sâu về C++.
Mong nhận được phản hồi từ anh!
Chào em.
Thực ra cũng không còn cách nào khác ngoài việc đọc code
Để hiểu rõ và chi tiết hơn thì em có thể đọc cả giải thích, phân tích hướng dẫn của họ
Còn để nhẹ nhàng hơn, thì đọc code.
Khi xác định theo con đường lập trình viên, trước hay sau em cũng phải làm quen với việc đọc code, phân tích code
của người khác viết, code sample tìm kiếm được.
Tuy nhiên, sẽ không ai đọc code để nhớ nó và sau này viết lại, vì có hàng trăm hàng ngàn kỹ thuật nhỏ lẻ của vô vản các nhánh
trong lập trình, bộ não chúng ta ko thể nhớ hết được.
Mà cái chính là đọc để hiểu được nguyên lý của nó, và kế thừa lại.
Sau đó có thể phát triển hơn, làm khác đi, biến nó thành cái của mình và lưu lại một nơi.
Sau này khi gặp yêu cầu tương tự như vậy, em sẽ nhớ là mình đã có demo, sample, có thể lấy ra và áp dụng,
Đó là cách mà các lập trình viên thường làm.
Rồi khi có thời gian rảnh rỗi, họ mới đào sâu, phân tích và hiểu sâu hơn.
Và tất cả đó là một quá trình. Nên cái tư tưởng và các tiếp cận ván đề rất quan trọng.
Trong phạm vi bài em hỏi, thì list view này nó đã thuộc dạng nâng cao rồi.
Nó kết hợp nhiều kỹ thuật phức tạp, từ kế thừa, rồi overidde.
Do đó nó đòi hỏi phải có kinh nghiệm MFC ở mức khá, nếu em mới chỉ nghiên cứu thì MFC hoặc lập trình
Thì sẽ phải cần thời gian để hiểu được project đó.
Vậy thì nếu vẫn nghiên cứu, thì nghiên cứu như thế nào.
step 1: em down project, và chạy lên trên môi trường visual mà cài trong máy, và build thử rồi chạy thử xem thành công hay không
step 2: Qua được bước 1, thì bắt đầu mới phân tích kỹ thuật. Ví dụ sample 2. Em phải tìm được biến quản lý list view
Em xem kiểu list view của biến đó là CList bình thường có sẵn, hay một kiểu listview do người dùng tự định nghĩa.
Step3: Xem các tạo list view, xem trong lớp list view đó, họ xây dựng combobox thế nào, sử dụng image ra sao.
Khi trả lời được những thắc mắc đó thì em dần hiểu ra được nguyên lý của nó. Và em hiểu được project.
Dạ vâng em cám ơn anh ạ.
Anh thật là một người đi trước nhiệt tình và tốt bụng.
Chúc anh sức khỏe.Em sẽ nghiên cứu tìm hiểu sâu theo hướng anh đã chỉ dạy.
Thật sự em cảm ơn anh về cái series này! Chúc những điều tốt đẹp đến anh và gia đình nha !
cảm ơn em, hy vọng seri sẽ giúp được nhiều cho em