Chúng ta chọn sử dụng đối tượng DTPicker Một số thuộc tính quan trọng của đối tượng DTPicker Thuộc tính Kiểu dữ liệu Ý nghĩa Value Date Giá trị ngày/giờ đang được chọn Format Integer Chọ
Trang 1Một số control nâng cao trong Visual Basic 6.0
Lương Trần Hy Hiến
Đại học Sư Phạm Tp HCM
Email: hienlth@hcmup.edu.vn
1 Sử dụng các thư viện control
Để sử dụng các control nâng cao trong Visual Basic 6.0, chúng ta vào menu Project, chọn chức năng Components (hoặc nhấn Ctrl + T)
Hộp thoại Components sẽ xuất hiện Chọn các thư viện control cần thiết rồi nhấn OK
Các control trong các thư viện được chọn sẽ được bổ sung thêm vào thanh công cụ thiết kế giao diện Sau đó, việc sử dụng các control mới này hoàn toàn tương tự như các control bình thường
Trang 22 DTPICKER
Đối tượng DTPicker dùng để nhập thông tin về ngày/giờ
Vào menu Project Components, chọn Microsoft Window Common Control-2 6.0
Trên thanh công cụ xuất hiện 1 số control mới Chúng ta chọn sử dụng đối tượng DTPicker
Một số thuộc tính quan trọng của đối tượng DTPicker
Thuộc tính Kiểu dữ liệu Ý nghĩa
Value Date Giá trị ngày/giờ đang được chọn
Format Integer Chọn định dạng hiển thị Chọn 1 trong 4 giá trị sau: dtpLongDate,
dtpShortDate, dtpTime, dtpCustom
CustomFormat String Chuỗi ký tự cho phép định nghĩa cách hiển thị (chỉ có tác dụng khi
chọn Format là dtpCustom) Nên tham khảo format hiển thị ngày/giờ trong Excel Ví dụ: Giả sử chọn ngày 31 tháng 10 năm 2004, khi sử
dụng chuỗi định dạng hiển thị là d-mmm-yy thì kết quả hiển thị sẽ là
Trang 33 MONTHVIEW
Đối tượng MonthView dùng để nhập thông tin về tháng
Vào menu Project Components, chọn Microsoft Window Common Control-2 6.0
Trên thanh công cụ xuất hiện 1 số control mới Chúng ta chọn sử dụng đối tượng MonthView
Một số thuộc tính quan trọng của đối tượng MonthView
Thuộc tính Kiểu dữ liệu Ý nghĩa
Month Integer Giá trị tháng được chọn
Trang 44 ImageList
Đối tượng ImageList dùng để quản lý danh sách các hình (có thể dùng trong Toolbar, ListView hoặc
TreeView)
Lưu ý: mọi chỉ số của đối tượng ImageList đều tính từ 1
Vào menu Project Components, chọn Microsoft Window Common Control 6.0
Trên thanh công cụ xuất hiện 1 số control mới Chúng ta chọn sử dụng đối tượng ImageList
Sau khi bổ sung đối tượng ImageList lên form, click bên phải chuột vào đối tượng này, rồi chọn
Properties Trong hộp thoại Property Pages, chọn trang Images Nhấn nút Insert Pictures… rồi
Trang 5chọn các hình cần đưa vào danh sách (thường chọn các tập tin hình ảnh dạng ICO hay BMP có kích thước bằng nhau, ví dụ như 16x16, 32x32, 48x48…)
Trang 65 LISTVIEW
Đối tượng ListView dùng để hiển thị danh sách các đối tượng theo nhiều hình thức thể hiện khác nhau
Ví dụ: trong cửa sổ Window Explorer, bên trái là danh sách các ổ đĩa và thư mục được tổ chức theo dạng cây (sử dụng TreeView), bên phải là thông tin bên trong mỗi thư mục đang được chọn (sử dụng
ListView, có nhiều cách trình bày khác nhau)
Trang 7Vào menu Project Components, chọn Microsoft Window Common Control 6.0 Lưu ý: mọi chỉ số của đối tượng ListView đều tính từ 1
Trên thanh công cụ xuất hiện 1 số control mới Chúng ta chọn sử dụng đối tượng ListView
5.1 Các hình thức thể hiện
Đối với ListView thông thường, chúng ta có 4 hình thức thể hiện
Dạng Icon ( lvwIcon ) Dạng Small Icon ( lvwSmallIcon )
Dạng List ( lvwList ) Dạng Report ( lvwReport )
Trang 8Như vậy, mỗi item trong ListView thường chỉ hiển thị 1 nội dung dạng chuỗi (ví dụ như tên tập tin hay tên thư mục), trừ trường hợp sử dụng dạng Report, chúng ta có thể cho mỗi item gồm nhiều cột thông tin khác nhau (ví dụ như tên, kích thước, loại, ngày cập nhật…)
Để đọc/thay đổi hình thức thể hiện của ListView, chúng ta sử dụng thuộc tính View
Thuộc tính Kiểu dữ liệu Ý nghĩa
View Integer Quy định hình thức thể hiện của ListView
Nhận 1 trong 4 giá trị: lvwIcon, lvwSmallIcon, lvwList, lvwReport
5.2 Khởi gán ImageList
Giả sử chúng ta đang thao tác trên đối tượng ListView có tên (name) là MyListView Ngoài ra, chúng
ta có sẵn 3 ImageList có tên lần lượt là ImageList1, ImageList2, ImageList3
Cần phải khởi gán thông tin về các ImageList của đối tượng ListView trước khi sử dụng (ví dụ như khởi gán trong sự kiện FormLoad)
MyListView.Icons = ImageList1
MyListView.SmallIcons = ImageList2
MyListView.ColumnHeaderIcons = ImageList3
Lưu ý: chúng ta có thể dùng chung đối tượng ImageList cho thuộc tính Icons, SmallIcons, ColumnHeaderIcons
5.3 Thao tác trên các cột (column)
5.3.1 Thêm 1 cột
MyListView.ColumnHeaders.Add STTCột, , “Tên cột”, ĐộRộngCột, CanhLề, STTIcon
CanhLề có thể có giá trị:
lvwColumnLeft lvwColumnCenter lvwColumnRight
STTIcon là số thứ tự của icon trong ColumnHeaderIcons đi kèm với cột cần thêm vào.
5.3.2 Xóa 1 cột
MyListView.ColumnHeaders.Remove STTCột
5.3.3 Số lượng cột
MyListView.ColumnHeaders.Count
5.3.4 Xóa tất cả các cột:
MyListView.ColumnHeaders.Clear
5.3.5 Truy xuất đến cột thứ STTCột
MyListView.ColumnHeaders.Item(STTCột)
5.4 Thao tác trên các item
5.4.1 Thêm 1 item
MyListView.ListItems.Add STTItem, , “Tên item”, STTIcon, STTSmallIcon
STTIcon là số thứ tự của icon trong Icons.
STTSmallIcon là số thứ tự của icon trong SmallIcons.
Trang 95.4.2 Xóa 1 item
MyListView.ListItems.Remove STTItem
5.4.3 Số lượng item
MyListView.ListItems.Count
5.4.4 Xóa toàn bộ các item
MyListView.ListItems.Clear
5.4.5 Truy xuất đến item thứ STTItem
MyListView.ListItems.Item(STTItem)
Lưu ý: trong ListView, ở chế độ Report, chúng ta có thể cho mỗi item có nhiều thông tin (thể hiện trong nhiều cột) Các subitem tính từ cột thứ 2 trở đi
Như vậy:
Cột thứ 2 tương ứng với subitem thứ 1,
Cột thứ 3 tương ứng với subitem thứ 2,
…,
Cột thứ i+1 tương ứng với subitem thứ i
Chúng ta đọc/thay đổi nội dung của subitem thứ STTSubItem của item thứ STTItem như sau
MyListView.ListItems.Item(STTItem).SubItems(STTSubItem)
Ví dụ:
MyListView.ListItems.Item(STTItem).SubItems(STTSubItem) = “1024KB”
Trang 106 TREEVIEW
Đối tượng TreeView dùng để hiển thị thông tin dạng phân cấp (dạng cây)
Vào menu Project Components, chọn Microsoft Window Common Control 6.0
Lưu ý: mọi chỉ số của đối tượng TreeView đều tính từ 1
Trên thanh công cụ xuất hiện 1 số control mới Chúng ta chọn sử dụng đối tượng TreeView
6.1 Khởi gán ImageList
Giả sử chúng ta đang thao tác trên đối tượng TreeView có tên (name) là MyTreeView Ngoài ra, chúng ta có sẵn 1 ImageList có tên là MyImageList
Cần phải khởi gán thông tin về ImageList của đối tượng TreeView trước khi sử dụng (ví dụ như khởi gán trong sự kiện FormLoad)
MyTreeView.ImageList = MyImageList
Lưu ý: 1 đối tượng ImageList có thể dùng chung cho nhiều đối tượng TreeView và ListView
6.2 Thêm nút gốc
Ví dụ: Để thêm nút gốc N1 có nội dung là “Desktop”, STT của icon bình thường là STTImage, STT của icon khi chọn là STTSelectedImage, STT của icon khi nút N1 được mở ra là STTExpandedImage
Dim N1 As Node
Set N1 = MyTreeView.Nodes.Add
N1.Text = "Desktop"
N1.Image = STTImage
N1.SelectedImage = STTSelectedImage
N1.ExpandedImage = STTExpandedImage
Chúng ta có thể gán cho thuộc tính Image, SelectedImage, ExpandedImage các giá trị khác nhau Đây
là chỉ số của icon trong ImageList
Trang 116.3 Thêm nút con
Ví dụ: Để thêm 1 nút N2 (có nội dung là “My Documents”, có STT của icon bình thường là STTImage, STT của icon khi chọn là STTSelectedImage) là nút con của nút N1, ta thực hiện như sau:
Dim N2 As Node
Set N2 = MyTreeView.Nodes.Add(N1, tvwChild, , "My Documents", STTImage, STTSelectedImage) Chúng ta có thể sử dụng giá trị khác nhau cho tham số STTImage và STTSelectedImage Đây là các chỉ
số của icon trong ImageList
Trang 127 MSHFLEXGRID
Vào menu Project Components, chọn Microsoft Hierarchical FlexGrid
Lưu ý: mọi chỉ số của đối tượng MSHFlexGrid đều tính từ 0
Trên thanh công cụ xuất hiện đối tượng MSHFlexGrid
Một số thuộc tính quan trọng của đối tượng MSHFlexgrid
Thuộc tính Kiểu dữ liệu Ý nghĩa
FixedRows Integer Số lượng dòng cố định
FixedCols Integer Số lượng cột cố định
Row Integer Chỉ số dòng đang được chọn (tính từ 0)
Col Integer Chỉ số cột đang được chọn (tính từ 0)
Để đọc/ghi chuỗi ký tự tại vị trí dòng iRow, cột jCol, chúng ta sử dụng hàm TextMatrix
TextMatrix(iRow, jCol): nội dung (dạng chuỗi) tại dòng iRow, cột jCol
Ví dụ: để gán nội dung tại dòng 0, cột 0 của đối tượng MSHFlexGrid1, ta thực hiện như sau
Trang 13MSHFlexGrid1.TextMatrix(0, 0) = “abc”