GIÁO TRÌNH MICOSOFT VISUAL BASIC - Chương 6 TextBox - ListBox-ComboBox pdf

13 1.3K 19
GIÁO TRÌNH MICOSOFT VISUAL BASIC - Chương 6 TextBox - ListBox-ComboBox pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giáo trình Visual Basic 6.0 55 Chương TextBox - ListBox-ComboBox I TEXTBOX Là đối tượng điều khiển dùng nhập nội dung dạng text Nội dung nhập dịng nhiều dịng Các thuộc tính bổ sung Qui định loại cuộn sử dụng textbox, dùng Multiline=True , có giá trị: - None Khơng có cuộn - Horizontal Chỉ có cuộn ngang - Vertical Chỉ có cuộn dọc - Both Có hai loại cuộn Đọc đặt vị trí trỏ (hoặc vị trí bắt đầu chọn) textbox SelStart Đọc đặt số ký tự chọn textbox Khi không chọn, SelLength Sellength=0 Lấy nội dung chọn SelText Nếu không chọn, Seltext=”” Gán Seltext chèn chuỗi vào textbox trỏ Nếu có chọn Gán Seltext thay chuỗi chọn nội dung HideSelection = False : Phần nội dung chọn highlight textbox focus = True: Phần nội dung chọn không highlight textbox focus PasswordChar Được sử dụng nhập mật Các ký tự nhập vào ln trình bày ký tự định nghĩa thuộc tính Scrollbars Sự kiện Sự kiện thường hay sử dụng textbox Change, kiện xảy nội dung textbox thay đổi người dùng nhập hay hiệu chỉnh thuộc tính Text Ví dụ Thiết kế chương trình có dạng Editor (trình soạn thảo văn bản) đơn giản Định nghĩa chức tìm kiếm nội dung Editor Form gồm textbox làm editor nút bấm Find để thực chức tìm kiếm (Hình 6.1) Nguyễn Đăng Quang Giáo trình Visual Basic 6.0 56 Hình 6.1: Các Form chương trình sọan thảo văn Trên form (đặt tên frmMain), có đối tượng sau: TextBox Trên form tìm kiếm (đặt tên frmFind), có đối tượng sau: Label Thuộc tính Name Multiline Scrollbar Thuộc tính Name Caption Giá trị TxtEditor True None CommandButton Thuộc tính Name Caption Enabled Giá trị CmdFind &Find False Giá trị Label1 Find text CommandButton Thuộc tính Name Caption Giá trị CmdFind &Find CommandButton Thuộc tính Name Caption Giá trị CmdCancel &Cancel Người chạy chương trình nhập nội dung vào textbox Editor Khi chưa có nội dung, chức tìm kiếm khơng có tác dụng Vì định nghĩa thủ tục xử lý kiện Change: Khi textbox có thay đổi nội dung khác rỗng nút lệnh kích hoạt (Enabled) Private Sub txtEditor_Change() If txtEditor.Text "" Then cmdFind.Enabled = True Else cmdFind.Enabled = False End If Giáo trình Visual Basic 6.0 57 End Sub Khi bấm nút Find, form thứ hai xuất Định nghĩa kiện Click cho nút bấm này: Private Sub cmdFind_Click() frmFind.Show End Sub Trên form tìm kiếm, người dùng nhập nội dung tìm kiếm bấm nút Find, chương trình thực chức tìm kiếm Vì định nghĩa lệnh cho kiện Click Private Sub cmdFind_Click() Dim p As Integer If txtFind.Text "" Then txtText = frmMain.txtEditor.Text p = InStr(1, txtText, txtFind.Text) ‘Tìm vị trí xuất If p Then frmMain.txtEditor.SelStart = p- ‘Giữ vị trí frmMain.txtEditor.SelLength = Len(txtFind.Text) Else MsgBox "Search text not found" End If End If End Sub Vì chuỗi cần tìm xuất nhiều lần editor Định nghĩa lại Caption Nút Find thành Find Next để lần bấm nút chương trình tìm tiếp từ sau vị trí vừa tìm thấy viết lại lệnh sau: Private Sub cmdFind_Click() Static p As Integer If txtFind.Text "" Then txtText = frmMain.txtEditor.Text p = InStr(p+1, txtText, txtFind.Text) ‘Tìm từ sau vị trí vừa tìm thấy If p Then frmMain.txtEditor.SelStart = p - ‘Giữ vị trí frmMain.txtEditor.SelLength = Len(txtFind.Text) ‘Highlightchuỗi tìm thấy Else MsgBox "Search text not found" End If End If End Sub Biến p định nghĩa lại thành biến static để giữ lại vị trí vừa tìm thấy chương trình tiếp tục tìm từ vị trí kế sau II LISTBOX Dùng liệt kê danh sách nhiều đối tượng cho phép người dùng chọn lựa Nguyễn Đăng Quang 58 Giáo trình Visual Basic 6.0 Các thuộc tính Columns Số cột dùng để thể nội dung listbox, mặc định =0 (Hình 6.2) Hình 6.2: ListBox với thuộc tính Columns IntegralHeight Listbox tự động điều chỉnh kích thước cho ln thể đầy đủ nội dung, có giá trị True/False Thuộc tính đọc - Số phần tử có listbox ListCount Danh sách nội dung (chuỗi) trình bày listbox List Danh sách chứa nội dung kèm với phần tử chứa ItemData thuộc tính List Danh sách khơng trình bày , phục vụ cho chương trình Chỉ số phần tử chọn listbox - Phần tử ListIndex có số Khi khơng có phần tử chọn , thuộc tính có giá trị -1 Chuỗi chứa nội dung mục chọn danh sách Tương Text đương với cách viết List(Listindex) Qui định chế độ chọn phần tử Listbox Multiselect - None: Mỗi lúc chọn phần tử - Simple: Cho phép chọn nhiều phần tử cách click - Extended: Chọn nhiều phần tử theo kiểu chọn Windows Explorer Cho biết số phần tử chọn danh sách List SelCount Mảng tương ứng với danh sách list, xác định phần tử có Selected chọn listbox (True/False) Chỉ số phần tử xuất Listbox Topindex Giáo trình Visual Basic 6.0 Sorted 59 Qui định phần tử danh sách thứ tự (True/false) Chỉ số phần tử vừa thêm vào Listbox NewIndex Lưu ý: • Có thể nhập trực tiếp nội dung danh sách lúc thiết kế cửa sổ thuộc tính, xuống dịng Ctrl+Enter (Hình 6.2) Hình 6.2: Nhập giá trị cho thuộc tính List cửa sổ thuộc tính • Để lấy nội dung đối tượng chọn Sử dụng cách viết Dim St As String St = Listbox.List(ListBox.ListIndex) Hoặc St = Listbox.Text • Để duyệt danh sách chứa danh sách list, sử dụng vòng lặp for For i = to ListBox.ListCount - Debug.Print ListBox.List(i) Next i Các phương thức AddItem [,]: thêm phần tử vào danh sách Thêm phần tử Item vào danh sách vị trí Index Nếu khơng có tham số index, phần tử thêm vào cuối danh sách Ví dụ 1: ListBox.AddItem “Hoa” ListBox.AddItem “Ngoc” ListBox.AddItem “Hai” ListBox.AddItem “Tuan” Nguyễn Đăng Quang 60 Giáo trình Visual Basic 6.0 Thêm phần tử vào cuối danh sách Ví dụ 2: Thêm 100 phần tử vào danh sách For i = to 99 ListBox.AddItem “Item “ & i Next i Phương thức AddItem thường viết form_load để khởi động giá trị cho ListBox Dữ liệu khởi động chứa mảng ví dụ sau: For i = LBound(MyData) To UBound(MyData) List1.AddItem MyData(i) Next Hoặc khởi động danh sách không cần định nghĩa mảng cách sử dụng hàm choose sau: For i = To List1.AddItem Choose(i, "America", "Europe", "Asia", "Africa", "Australia")" Next RemoveItem : xóa phần tử khỏi danh sách với Index số thứ tự phần tử cần xố Ví dụ : Xoá 50 phần tử danh sách For i = to 49 ListBox.RemoveItem i Next i Clear: Xóa tồn danh sách List Ví dụ : Xố tất phần tử danh sách ListBox.Clear Sự kiện Sự kiện thường hay sử dụng Listbox Click, kiện xảy click phần tử Listbox thay đổi phần tử chọn bàn phím (di chuyển vệt sáng) Giáo trình Visual Basic 6.0 61 Một kiện đơi sử dụng kiện scroll, kiện xảy nội dung listbox cuộn Ví dụ sau minh họa cách sử dụng kiện scroll kết hợp với thuộc tính TopIndex để đồng hoạt động cuộn listbox Hình 6.3: Đồng hoạt động listbox Lệnh viết Listbox sau: Private Sub lstN_Click() lstSquare.TopIndex = lstN.TopIndex lstSquare.ListIndex = lstN.ListIndex End Sub Private Sub lstSquare_Click() lstN.TopIndex = lstSquare.TopIndex lstN.ListIndex = lstSquare.ListIndex End Sub Private Sub lstN_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) Call lstN_Click End Sub Private Sub lstSquare_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) Call lstSquare_Click End Sub Private Sub lstN_MouseMove(Button As Integer, Shift As Integer, _ X As Single, Y As Single) Call lstN_Click End Sub Private Sub lstSquare_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) Call lstSquare_Click End Sub Private Sub lstN_Scroll() lstSquare.TopIndex = lstN.TopIndex End Sub Private Sub lstSquare_Scroll() lstN.TopIndex = lstSquare.TopIndex End Sub Nguyễn Đăng Quang Giáo trình Visual Basic 6.0 62 Một số ví dụ Ví du 1: Sử dụng thuộc tính ItemData Thiết kế chương trình với Form gồm Listbox, Textbox trình bày phần tử chọn Itemdata phần tử chọn (Hình 6.4) Hình 6.4: Form chương trình ví dụ - Tại thuộc tính List listbox, nhập nội dung “Muc 1”, “Muc 2” ”Muc 7” Sử dụng Ctrl+Enter để xuống dịng - Tại thuộc tính ItemData listbox, nhập nội dung 100, 200 700 Sử dụng Ctrl+Enter để xuống dòng Mỗi người dùng click phần tử listbox Nội dung phần tử tương ứng xuất textbox Định nghĩa lệnh xử lý kiện Click sau: Private Sub List1_Click() Dim p As Integer Text1.Text = List1.Text p = List1.ListIndex Text2.Text = List1.ItemData(p) End Sub Nội dung listbox khởi động formLoad sau: Private Sub Form_Load() For i = To 99 List1.AddItem "Muc " & i List1.ItemData(i) = (i + 1) * 100 Next End Sub Ví dụ 2: Sử dụng thuộc tính TopIndex để tự động cuộn ListBox Sử dụng form ví dụ 1, thêm nút “Auto Scroll” viết lệnh sau: Private Sub Command1_Click() For i = To 99 List1.TopIndex = i Next End Sub Giáo trình Visual Basic 6.0 63 Hình 6.5: Form chương trình ví dụ Ví dụ 3: Sử dụng thuộc tính Selected để tự động chọn xen kẽ phần tử listbox (Hình 6.6) Sử dụng form ví dụ 2, thêm nút “Select” viết lệnh sau: Private Sub Command2_Click() For i = To 99 If i Mod = Then List1.Selected(i) = True Next End Sub Hình 6.6: Form chương trình ví dụ Ví dụ 4: Thiết kế form gồm ListBox, liệu khởi động trước cho listbox, viết lệnh nút để di chuyển phần tử chọn (có thể chọn nhiều) từ listbox sang listbox khác Việc di chuyển thực nhấp đúp listbox Giao diện chương trình hình 6.7 Hình 6.7: Form chương trình ví dụ Nguyễn Đăng Quang 64 Giáo trình Visual Basic 6.0 Lệnh cho nút viết sau: Private Sub cmdMove_Click() ' Di chuyển phần tử chọn từ listbox trái sang listbox phải If lstLeft.ListIndex >= Then lstRight.AddItem lstLeft.Text lstLeft.RemoveItem lstLeft.ListIndex End If End Sub Private Sub cmdMoveAll_Click() ' Di chuyển phần tử từ listbox trái sang listbox phải Do While lstLeft.ListCount lstRight.AddItem lstLeft.List(0) lstLeft.RemoveItem Loop End Sub Private Sub cmdBack_Click() ' Di chuyển phần tử chọn từ listbox phải sang listbox trái If lstRight.ListIndex >= Then lstLeft.AddItem lstRight.Text lstRight.RemoveItem lstRight.ListIndex End If End Sub Private Sub cmdBackAll_Click() ' Di chuyển phần tử từ listbox phải sang listbox trái Do While lstRight.ListCount lstLeft.AddItem lstRight.List(0) lstRight.RemoveItem Loop End Sub Private Sub lstLeft_DblClick() ' Mơ tác động bấm phím cmdMove.Value = True End Sub Private Sub lstRight_DblClick() ' Mô tác động bấm phím cmdBack.Value = True End Sub Giáo trình Visual Basic 6.0 65 III COMBOBOX Là đối tượng điều khiển kết hợp textbox listbox Trong combobox, người dùng chọn đối tượng có trước nhập nội dung textbox phía Combo box có thuộc tính ListBox (trừ MultiSelect, Selected) , ngồi cịn có thêm thuộc tính Style để qui định kiểu combobox Combo chuẩn Chỉ trình bày listbox click nút mũi tên - Dropdown Combo bên phải Luôn thể listbox bên textbox Khi nội dung - Simple nhập textbox giống với nội dung listbox, tự động cuộn để thể đầy đủ phần tử Khơng có Textbox Chỉ trình bày listbox click nút - Dropdown List mũi tên bên phải Hình 6.8 trình bày dạng ComboBox với giá trị thuộc tính Style Hình 6.8: Các dạng ComboBox ComboBox có kiện giống ListBox Sự kiện thuờng viết lệnh kiện Click Nguyễn Đăng Quang Giáo trình Visual Basic 6.0 66 IV DRIVELISTBOX, DIRLISTBOX VÀ FILELISTBOX Là đối tượng điều khiển xây dựng dựa ListBox ComboBox, thường sử dụng kết hợp với cho phép người sử dụng dễ dàng chọn lựa ổ dĩa, thư mục tập tin máy DriveListBox ComboBox cho phép chọn ổ dĩa ổ dĩa máy Thuộc tính thường sử dụng thuộc tính Drive cho biết ổ dĩa chọn Khi chọn ổ dĩa mới, kiện Change xảy DriveListBox DirListBox Đối tượng trình bày thư mục ổ dĩa cho phép người sử dụng chọn lựa Thuộc tính thường sử dụng Path cho biết đường dẫn thư mục chọn Khi chọn thư mục mới, kiện Change xảy DirListBox FileListBox Đối tượng trình bày tập tin thư mục cho phép người sử dụng chọn lựa Các thuộc tính thường sử dụng : Path FileName Pattern Đường dẫn thư mục Tên đầy đủ tập tin chọn FileListBox Loại tập tin xuất FileListBox *.* - Mọi tập tin chứa thư mục *.txt; *.doc; *.rtf – loại tập tin xuất Khi chọn tập tin, kiện Click xảy FileListBox DriveListBox, DirListBox FileListBox thường sử dụng chung với để chọn tập tin dĩa Khi đặt chúng lên form cần viết lệnh để đồng hoạt động sau: Lệnh viết DriveListBox Private Sub Drive1_Change() ' Khi chọn ổ dĩa DriveListBox, gán cho thuộc tính Path ' DirListBox để làm thay đổi thư mục Dir1.Path = Left$(Drive1.Drive, 1) & ":\" End Sub Lệnh viết DirListBox Private Sub Dir1_Change() ‘ Gán đường dẫn chọn cho đối tượng FileListBox để làm thay ‘ Đổi nội dung FileListBox File1.Path = Dir1.Path End Sub Cuối người sử dụng click tên tập tin FileListBox, tên tập tin xử lý xác định sau: Giáo trình Visual Basic 6.0 Filename = File1.Path If Right$(Filename, 1) "\" Then Filename = Filename & "\" Filename = Filename & File1.Filename Nguyễn Đăng Quang 67 ... Việc di chuyển thực nhấp đúp listbox Giao diện chương trình hình 6. 7 Hình 6. 7: Form chương trình ví dụ Nguyễn Đăng Quang 64 Giáo trình Visual Basic 6. 0 Lệnh cho nút viết sau: Private Sub cmdMove_Click()... List1.TopIndex = i Next End Sub Giáo trình Visual Basic 6. 0 63 Hình 6. 5: Form chương trình ví dụ Ví dụ 3: Sử dụng thuộc tính Selected để tự động chọn xen kẽ phần tử listbox (Hình 6. 6) Sử dụng form ví dụ... Quang Giáo trình Visual Basic 6. 0 62 Một số ví dụ Ví du 1: Sử dụng thuộc tính ItemData Thiết kế chương trình với Form gồm Listbox, Textbox trình bày phần tử chọn Itemdata phần tử chọn (Hình 6. 4)

Ngày đăng: 27/07/2014, 03:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan