• Thứ Năm, 07/07/2011 08:03 (GMT+7)

    Chương trình liệt kê ổ đĩa và thư mục vào trong 1 TreeView bằng Win32 API

    Câu hỏi :

    Xin hướng dẫn cách tạo 1 chương trình liệt kê ổ đĩa và thư mục vào trong 1 TreeView bằng Win32 API, giống như chức năng của Norton Commander.



    Trả lời :

    Đối tượng giao diện TreeView (tên chính xác là CTreeCtrl trong VC++) là đối tượng tổng quát, nó cho phép hiển thị và xử lý các dữ liệu bất kỳ có mối quan hệ dạng cây phân cấp, thí dụ như hiển thị cây gia phả, cây tổ chức các ban ngành nhà nước, cơ quan,... Để hiển thị cây thư mục của ổ đĩa, ta có thể định nghĩa đối tượng mới, thí dụ với tên là CDirTreeCtrl, đối tượng này thừa kế tất cả các tính chất của đối tượng TreeView sẵn có, ta chỉ cần override 1 vài hàm chức năng để nó có thể hiển thị nội dung dạng cây phân cấp của ổ đĩa.

    Sau đây là qui trình điển hình để xây dựng ứng dụng VC++ cho phép duyệt xem nội dung của hệ thống file trên máy bằng cách dùng đối tượng mới CDirTreeCtrl :

    1. Chạy VC++, chọn menu File.New để hiển thị cửa sổ New. Chọn tag Project, chọn mục "MFC AppWizard (exe)", chọn vị trí thư mục chứa Project, nhập tên Project quản lý phần mềm vào textbox "Project Name" (thí dụ tên là DirFileDispDemo), click chuột vào button OK để bắt đầu qui trình Wizard đặc tả các thông số cho Project.

    2. Trong cửa sổ Step 1, đánh dấu chọn optionButton "Dialog Based" rồi click button Finish để tạo ứng dụng dùng Form giao diện đơn giản.

    3. Khi cửa sổ thiết kế Form ứng dụng hiển thị, chọn từng đối tượng giao diện trong Form và xóa đi để đưa Form về trạng thái trống hoàn toàn.

    4. Vẽ các đối tượng giaodiện trong Form có dạng sau, gồm 1 label, 1 ComboBox, 1 button và 1 TreeCtrl.

    Chuyên mục: Lập trình