1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình hướng dẫn thực hiện một chương trình lập trình đơn giản trên cùng một mô-đun phần 4 pot

5 295 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 776,11 KB

Nội dung

68 KeyPress xảy ra khi người dùng nhấn một phím KeyUp xảy ra khi người dùng nhả một phím (sau khi đã nhấn xuống) KeyDown xảy ra khi người dùng nhấn một phím (nhưng chưa nhả ra) MouseMove xảy ra khi người dùng rê chuột ngang qua một điều khiển hoặc trên UserForm MouseUp xảy ra khi người dùng nhả phím chuột (sau khi đã nhấn chuột) MouseDown xảy ra khi người dùng nhấn phím chuột (nhưng chưa nhả ra) 11.1.5. Ví dụ Tạo một UserForm và viết mã lệnh để khi kích chuột vào UserForm sẽ hiển thị số lần kích chuột trên tiêu đề của nó đồng thời đổi màu nền của UserForm theo tình huống: nếu số lần kích chuột là chẵn thì màu đen, là lẻ thì màu trắng. Các thao tác như sau: 1. Thêm UserForm vào trong dự án bằng cách chọn Insert Ö UserForm. 2. Đặt tên UserForm là “usfCuaso1” trong thuộc tính Name của cửa sổ Properties; đặt tiêu đề xuất phát của UserForm là “Cua so chinh” trong thuộc tính Caption c ủa cửa số Properties. 3. Viết mã lệnh cho sự kiện Click của UserForm (hiển thị cửa sổ lệnh của UserForm bằng cách nháy đúp chuột vào UserForm, chọn UserForm và sự kiện Click). Mã lệnh cho thủ tục sự kiện Click như sau: Private Sub UserForm_Click() Static numClick As Long numClick = numClick + 1 If numClick Mod 2 = 0 Then Me.BackColor = vbBlack Else Me.BackColor = vbWhite End If usfCuaso1.Caption = "Number of Click: " & Str(numClick) End Sub GỢI Ý Trong đoạn mã trên, vbBlack là hằng số tương ứng với màu đen, vbWhite là hằng số tương ứng với màu trắng. Hai hằng số này được định nghĩa sẵn trong VB. C C H H Ư Ư Ơ Ơ N N G G   I I I I I I : :   C C Ơ Ơ   B B Ả Ả N N   V V Ề Ề   N N G G Ô Ô N N   N N G G Ữ Ữ   L L Ậ Ậ P P   T T R R Ì Ì N N H H   V V I I S S U U A A L L   B B A A S S I I C C   69 11.2. Làm việc với UserForm Các nguyên tắc làm việc với UserForm như thiết lập và thay đổi thuộc tính, gọi các phương thức hay xử lý các sự kiện đã được trình bày ở phần trước. Dưới đây chỉ giới thiệu một số phương thức khác của UserForm. Ø Ø Hiển thị UserForm: thực hiện phương thức Show Tên_UserForm.Show [vbModal/ vbModeless] Nếu dùng vbModal (hoặc 1): hộp thoại (UserForm) sẽ hiển thị ở dạng Modal – tức là luôn tiếp nhận tương tác người dùng với hộp thoại, người dùng chỉ có thể chuyển hướng tương tác sang nơi khác khi đóng hộp thoại. Đây là kiểu hiển thị mặc định của hộp thoại. Nếu dùng vbModeless (hoặc 0): hộp thoại vẫn được hiển thị nhưng người dùng có thể chuyển hướng tương tác sang nơi khác mà không cần đóng hộp thoại. Ø Ø Ẩn UserForm: gọi phương thức Hide Tên_UserForm.Hide Ø Ø Quay lại trạng thái trước lệnh cuối cùng được thực hiện trên UserForm: thực hiện phương thức UndoAction Tên_UserForm.UndoAction Ø Ø Trả lại trạng thái trước khi thực hiện Undo: thực hiện phương thức RedoAction Tên_UserForm.RedoAction CHÚ Ý Với chương trình sử dụng nhiều UserForm, để tránh nhầm lẫn trong khi sử dụng chương trình, chỉ nên hiển thị UserForm cần dùng còn những UserForm khác thì ẩn đi. Trước khi gọi phương thức Show của UserForm cần hiển thị, phải ẩn UserForm không dùng đến bằng phương thức Hide của nó. Vídụ Tạo một UserForm với các điều khiển như hình dưới đây: Trình tự thực hiện như sau: 1. Thêm một UserForm vào dự án. 2. Chọn vào UserForm vừa tạo, chọn biểu tượng trong hộp công cụ điều khiển (Control Toolbox). Sau đó, rê thả chuột trên UserForm để tạo một hộp văn bản (TextBox). 70 3. Tiếp tục chọn UserForm trên, chọn biểu tượng trong hộp công cụ điều khiển, rê thả chuột để tạo một nút lệnh (Command Button), đặt tên (thuộc tính Name) của nút lệnh là cmdUndo, đặt tiêu đề (thuộc tính Caption) của nút lệnh là Undo. 4. Tương tự như trên tạo nút lệnh cmdRedo với tiêu đề Redo. 5. Viết các thủ tục sự kiện Click cho các nút lệnh trên như sau: Private Sub cmdRedo_Click() Me.RedoAction End Sub Private Sub cmdUndo_Click() Me.UndoAction End Sub Sau đó, chọn UserForm và nhấn phím F5 để chạy chương trình. Nhập một dòng văn bản vào trong hộp văn bản. Kích chuột vào nút Undo, sau đó là nút Redo và theo dõi kết quả. 11.3. Các điều khiển thông dụng Theo mặc định, trên Toolbox có sẵn một số điều khiển thông dụng trong thẻ Control, những điều khiển này đáp ứng được hầu hết nhu cầu thiết kế giao diện thông thường trên UserForm. Trong những phần trước đã nhắc nhiều đến việc sử dụng các điều khiển trên Toolbox nhưng chưa có tính hệ thống vì vậy phần này sẽ trình bày những nội dung cơ bản để có th ể sử dụng một cách hiệu quả các điều khiển này. Hình III-23: Các điều khiển cơ bản theo mặc định trong VBA IDE Nútlệnh(CommandButton)  Ø Ø Command Button thường được dùng để thực hiện một quyết định nào đó từ phía người dùng (thông qua việc kích chuột vào Command Button hoặc nhấn Enter). Ø Ø Command Button nên có thuộc tính Caption (tiêu đề) và Picture (hình ảnh) phản ánh đúng tính năng mà nó đảm nhận. Sự kiện hay được gọi khi sử dụng Command Button là sự kiện Click hoặc DblClick (kích đúp chuột). Ø Ø Để thay đổi vị trí của Command Button trong khi chạy chương trình, sử dụng phương thức Move Tên_Command Button.Move [Left ], [Top], [Width], [Height] Trong đó các tham số thể hiện vị trí góc trái trên (left, top) và kích thước (Width, Height) mới của Command Button sau khi di chuyển. 9 3 2 7 6 4 5 8 1 C C H H Ư Ư Ơ Ơ N N G G   I I I I I I : :   C C Ơ Ơ   B B Ả Ả N N   V V Ề Ề   N N G G Ô Ô N N   N N G G Ữ Ữ   L L Ậ Ậ P P   T T R R Ì Ì N N H H   V V I I S S U U A A L L   B B A A S S I I C C   71 Ø Ø Để thiết lập trạng thái nhận lệnh (nhận tiêu điểm – focus), sử dụng phương thức SetFocus Tên_Command Button.SetFocus Các phương thức Move và SetFocus như trên không chỉ áp dụng đối với Command Button, mà còn được áp dụng với đa số các điều khiển khác. Hộpvănbản(TextBox)  TextBox được dùng để nhập dữ liệu dạng văn bản (text) và nó được điều khiển bằng cách thiết lập những thuộc tính hay sự kiện hoặc sử dụng các phương thức phù hợp. Dưới đây là một số thành phần chính dùng để điều khiển TextBox: Ø Ø Các thuộc tính dùng để thiết lập cách thức hiển thị cho TextBox Thuộc tính Mô tả Ghi chú Text Nội dung văn bản chứa trong điều khiển. Kiểu String TextAlign Cách thức hiển thị văn bản trong điều khiển Tham khảo Object Browser MaxLength Qui định độ dài tối đa của văn bản trong điều khiển (Nếu đặt MaxLength=0, độ dài của văn bản là tuỳ ý) Kiểu Long MultiLine Hiển thị nhiều dòng hay một dòng Kiểu Boolean ScrollBars Hiển thị thanh cuộn ngang hay dọc nếu nội dung văn bản lớn hơn kích thước của điều khiển Tham khảo Object Browser Ø Ø Các phương thức hỗ trợ việc nhập văn bản vào TextBox Phương thức Mô tả Ghi chú Copy Chép nội dung được đánh dấu trong điều khiển vào bộ nhớ đệm Tham khảo trong Object Browser hoặc Help Cut Di chuyển nội dung được đánh dấu trong điều khiển vào bộ nhớ đệm Paste Chép nội dung từ bộ nhớ đệm vào điều khiển Ø Ø Các sự kiện: thường dùng để xử lý khi có tác động lên TextBox, thường sử dụng hai sự kiện là: KeyPress và Change. Sự kiện, về bản chất là một chương trình con dạng Sub và được tự động gọi ra tương ứng với tác động nào đó lên TextBox, ví dụ như bấm phím hay thay đổi nội dung. Sự kiện Change được gọi khi nội dung văn bản trong TextBox bị thay đổi. Còn sự kiện KeyPress được gọi khi có một phím được nhấn khi con trỏ đang nằm trong điều khiển. Sự kiện KeyPress có một tham số là KeyAscii. Tham số này có kiểu Integer và chứa mã ASCII của phím được nhấn (để biết mã ASCII của các phím, tham khảo KeyCodeConstants trong Object Browser). Nhãn(Label)  Label thường được sử dụng để hiển thị một văn bản ngắn gọn trên UserForm hoặc dùng kèm với một điều khiển nào đó trên UserForm với mục đích là giải thích ý định sử dụng cho điều khiển đó. Nội dung văn bản trong Label được thiết lập hoặc thay đổi thông qua thuộc tính Caption của nó. Tương tác với thuộc tính Caption của Label cũng tương tự như đối với thuộc tính Caption của tất cả các điều khiển khác và đã được trình bày ở các phần trước. 72 Hộpđánhdấu(CheckBox)  CheckBox thường được sử dụng để lựa chọn thông tin phù hợp trong một danh sách các thông tin liên quan được liệt kê hoặc dùng để bổ sung nội dung cho một dữ liệu nào đó. Để thiết lập hay đọc trạng thái của CheckBox (được chọn hay không được chọn), sử dụng thuộc tính Value. Thuộc tính này có kiểu Boolean, nếu giá trị của nó là True thì có nghĩa là CheckBox được chọn, giá trị là False nghĩa là CheckBox không được chọn. Ví dụ: tạo giao diện nhập dữ liệu và tính tổng các số từ 1 đến n với tùy chọn bằng CheckBox như sau: Ø Ø Nếu không chọn CheckBox (không đánh dấu) thì tính tổng của các số từ 1 đến n. Ø Ø Nếu chọn CheckBox (đánh dấu) thì chỉ tính tổng các số chẵn trong khoảng từ 1 đến n. Thiết kế UserForm với các thành phần như hình dưới đ ây: Mã lệnh cho thủ tục sự kiện Click cho nút lệnh cmdTinh như sau: Private Sub cmdTinh_Click() Dim i As Long Dim so As Long so = CLng(txtSo.Text) ' chuyen doi du lieu tu txtSo vao bien so Label Name: lblSo TextBox Name: txtSo CheckBox Name: chkChonsochan Command Button Name: cmdTinh Label Name: lbKetqua Điều khiển Label giải thích cho dữ liệu trong hộp văn bản ở dưới Điều khiển Label hiển thị kết quả dạng văn bản ngắn . thái trước lệnh cuối cùng được thực hiện trên UserForm: thực hiện phương thức UndoAction Tên_UserForm.UndoAction Ø Ø Trả lại trạng thái trước khi thực hiện Undo: thực hiện phương thức RedoAction. dùng đến bằng phương thức Hide của nó. Vídụ Tạo một UserForm với các điều khiển như hình dưới đây: Trình tự thực hiện như sau: 1. Thêm một UserForm vào dự án. 2. Chọn vào UserForm vừa. phương thức RedoAction Tên_UserForm.RedoAction CHÚ Ý Với chương trình sử dụng nhiều UserForm, để tránh nhầm lẫn trong khi sử dụng chương trình, chỉ nên hiển thị UserForm cần dùng còn những UserForm

Ngày đăng: 24/07/2014, 04:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w