Tải bản đầy đủ (.doc) (8 trang)

Bài 09 sử dụng các control

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (106.98 KB, 8 trang )

Bài 09 - sử dụng các control
I. giới thiệu


Các đối tượng điều khiển (Control) được sử dụng trong việc thiết kế giao diện trên
Form, Report, Label (Trong bài này chúng ta chỉ xét đến các Control dùng trên
FORM). Ví dụ giao diện sau được thiết kế từ FORM và các control.

Hình 1


Mỗi loại đối tượng thường được thiết kế cho một mục đích nhất định. Ví dụ đối
tượng Label (nhãn) được dùng để hiển thị một chú thích, đối tượng TextBox được
dùng để cho phép nhập liệu, đối tượng Command Button để thể hiện các nút
lệnh... Tuy nhiên người dùng có thể sử dụng với mục đích khác.



Các Control được xác định qua các Properties (thuộc tính), Methods (Phương
thức) và Events (sự kiện - tương tự như FORM).



Thanh công cụ Form Controls: Khi đang mở Form ở chế độ thiết kế (Form
Designer), Visual Foxpro hiển thị thanh công cụ Form Controls như hình sau:


Có thể hiển thị/ẩn Form Control bằng cách trong menu View chọn Form Control
Toolbar



Đưa một Control vào Form: Từ thanh công cụ Form Controls “nhấp” đối tượng
cần dùng và “thả” vào Form. Ví dụ

II. Các đối tượng thường dùng
1. Label:


Sử dụng cho: hiển thị nhãn, chú thích, ví dụ các ô text sau các label Khóa, Lớp, Học
kỳ, Năm học ... trong Hình 1 được dùng để nhập khóa, lớp, học kỳ và năm học.



Các Properties thường dùng:
1) Alignment: Canh lề phần text hiển thị của label. Thuộc tính này có thể nhận
các giá trị: (1) 0 - Left Canh trái, đây là giá trị mặc định; (2) 1-Right Canh
phải; (3) 2 - Center canh giữa.
2) Autosize: Tự động thay đổi kích thước phù hợp cho việc hiển thị thuộc tính
Caption của nó.
3) BackColor: Đặt mầu nền của Label. Trong khi thiết kế có thể dùng hộp mầu
để chọn hoặc khi chạy chương trình có thể sử dụng hàm RBG() để xác định
mầu.
4) BackStyle: Thiết lập tính chất nền. Thuộc tính này có thể nhận một trong
các giá trị: (1) 0 - Transparent xác định tính chất trong suốt của nền (có thể
nhìn thấy mọi đối tượng “phía sau”); (2) 1 - Opaque không cho quan sát các
đối tượng phía sau.
5) BorderStyle: Thiết kập thuộc tính biên của đối tượng. Thuộc tính này có thể
nhận các giá trị: 0 (none) - Không có đường biên; 1 (Fixed single) - Đường
biên đơn.
6) Caption: Text hiển thị như một nhãn, chú thích. Thuộc tính này nhận chuỗi
text bất kỳ.

7) FontName: Đặt Font chữ.
8) ForeColor: Đặt mầu chữ. Trong khi thiết kế có thể dùng hộp mầu để chọn
hoặc khi chạy chương trình có thể sử dụng hàm RBG() để xác định.
9) Height: Chiều cao
10)Left: Vị trí cạnh trái


11)Name: Tên của đối tượng (dùng để sử dụng trong chương trình)
12)Top: Vị trí cạnh trên
13)Visible: Thiết lập tính chất Hiện/ẩn. Thuộc tính này nhận 2 giá trị: (1) .T. Hiện ; (2) .F. - ẩn.
14)Width: Độ rộng của label.


Label cũng có nhiều Methods và Events, tuy nhiên vì mục đích của đối tượng này là
hiển thị một đoạn text nên trong phần này không giới thiệu các methods và events
này.
2. TextBox, EditBox



Sử dụng cho: Nhập một dòng text, các số, ví dụ các nhãn Khóa, Lớp, Học kỳ, Năm
học ... trong Hình 1 được dùng làm tiêu đề cho các ô dữ liệu bên cạnh.



Các Properties thường dùng:
1) Alignment: Xem phần II.1
2) BackColor: Xem phần II.1
3) BackStyle: Xem phần II.1
4) BorderColor: Xem phần II.1

5) BorderStyle: Xem phần II.1
6) ControlSource: Cho phép “gắn kết” (bound) textbox với 1 trường hoặc biến
nào đó (thông thường với 1 trường). Việc “Gắn kết” ở đây được hiểu là nếu
text trên textbox thay đổi thì trường hoặc biến “gắn kết” với nó cũng thay đổi
theo.



dụ,

thêm

1

textbox

vào

form



đặt

thuộc

tính

controlSource=”Hososv.hoten” ->Run Form.
7) DisabledBackColor: Mầu nền của textbox khi thuộc tính Enable=.F.

8) DisabledForeColor: Mầu của text khi thuộc tính Enable=.F.
9) Enabled: Cho phép có hiệu lực hay vô hiệu khả năng đáp ứng sự kiện của
textbox. Thuộc tính này nhận các giá trị: .T. - có hiệu lực; .F. - Vô hiệu lực
10)FontName: Xem phần II.1
11)ForeColor: Xem phần II.1
12)Format: Định dạng dữ liệu hiển thị. Visual Foxpro qui định kí hiệu sử dụng
cho Format của textbox (tham khảo trong help của Visual Foxpro 9


(Microsoft Visual Foxpro 9.0/Reference/Language Reference/Properties/
Format Property). Ví dụ đặt Format là !A (! - Hiển thị chữ hoa, A - Chỉ nhập
các ký tự)
13)Height: Xem phần II.1
14)InputMask: Định dạng dữ liệu nhập. Visual Foxpro qui định kí hiệu sử dụng
cho InputMask của textbox (tham khảo trong help của Visual Foxpro 9
(Microsoft Visual Foxpro 9.0/Reference/Language Reference/Properties/
InputMask Property). Ví dụ đặt InputMask là ### (# - nhập chữ số) cho
phép nhập 3 chữ số.
15)Left: Xem phần II.1
16)MaxLength: Số ký tự tối đa có thể nhập (nếu MaxLength=0 thì số ký tự là
bất kỳ, đây là giá trị mặc định).
17)SelectOnEntry: Thiết lập chế độ đánh dấu text khi đối tượng này nhận
quyền điều khiển. Thuộc tính này nhận các giá trị: .T. - Cho phép chế độ
đánh dấu; .F. Không cho phép.
18)TabIndex: Thứ tự theo Index của đối tượng (khi sử dụng phím Tab con trỏ
sẽ di chuyển theo thứ tự Index từ thấp đến cao)
19)Top: Xem phần II.1
20)Value: Giá trị là xâu text hiển thị trên đối tượng này.
21)Visible: Xem phần II.1
22)Width: Xem phần II.1



Các Methods và Event thường dùng:
1) Refresh (method): “Làm tươi” lại dữ liệu hiển thị trên textbox. Ví dụ, đặt thuộc
tính ControlSource = text1 (text1 là 1 biến), sau đó gán cho text1 =”Visual
Foxpro”, khi đó cần thực hiện Refresh để làm tươi lại dữ liệu trên Text.
2) SetFocus (method): Đưa con trỏ đến đối tượng này.
3) Valid (Event): Sự kiện này sảy ra trước khi chuyển quyền điều khiển tới đối
tượng khác. Vì lý do như vậy nên sự kiện này thường dùng để kiểm tra tính
hợp lệ của dữ liệu, nếu không hợp lệ thì có thể yêu cầu người sử dụng nhập
lại.


Ví dụ 1: Trong hình 1, xét ô text học kỳ. Ta có học kỳ chỉ nhận 2 giá trị là 1 hoặc 2, để
đảm bảo yêu cầu này chúng ta sẽ viết đoạn lệnh đáp ứng sự kiện valid để kiểm.
Giá thiết textbox được thiết lập các thuộc tính
Name = hocky
Maxlength=1
khi đó sự kiện hocky.valid được viết như sau:
hk=this.value
IF !hk$"1;2" then
WAIT WINDOW "Gia tri khong dung! Hoc ky = 1 hoac 2" NOWAIT
RETURN 0
ENDIF
Ví dụ 2: Trong hình 1, xét ô text khóa. Ta thấy các khóa nhập vào ở đây phải nằm trong
DMKHOA thì mới có nghĩa -> Viết sự kiện valid để kiểm tra tính hợp lệ này của ô text
khóa.
Giá thiết textbox được thiết lập các thuộc tính
Name = Khoa
Maxlength=10

khi đó sự kiện Khoa.valid được viết như sau:
khoahoc=this.Value
SELECT dmkhoa
LOCATE FOR (ma=khoahoc)
IF FOUND() THEN
thisform.lblTenKhoa.Caption=dmkhoa.ten
ELSE
IF !EMPTY(khoahoc) THEN
WAIT WINDOW "Ma khoa khong dung!!" NOWAIT
RETURN 0
ELSE
thisform.lblTenKhoa.Caption=""
ENDIF
ENDIF


Đối tượng EditBox tương đối giống TextBox (khác biệt chủ yếu là cho phép soạn
text trên nhiều dòng) các bạn tự tìm hiểu thêm.
3. Command Button



Sử dụng cho: Tạo các nút lệnh. Ví dụ như các nút lệnh Tạo BC, To Excel, Xem in ...
trong hình 1.



Các Properties thường dùng: Trong phần này chỉ giới thiệu một số thuộc tính khác so
với các thuộc tính đã giới thiệu ở các đối tượng trên.
1) Caption: Text hiển thị như tên (khác với name) của nút lệnh.

2) FontName: Font chữ cho caption.


3) Picture: Cho phép đưa một ảnh vào nút lệnh.
4) ToolTipText: Đặt dòng text (tooltip) khi đưa con trỏ tới nút lệnh.


Các Methods và Events thường dùng:
1) Click (Event): Sự kiện này sảy ra khi người sử dụng click chuột trái vào nút
lệnh (nút lệnh được thiết kế chính để đáp ứng sự kiện này).

Ví dụ 1: Thêm vào form nút lệnh “Thoát” để đóng form, thiết lập các thuộc tính:
Caption=Thoát
Name=cmdThoat
Khi đó dự kiện cmdThoat.Click được viết như sau:
IF MESSAGEBOX("Dong form nay lai?",4+32)=6 THEN
thisform.Release
ENDIF
Ví dụ 2: Tạo form DMKHOA cho phép cập nhật danh mục khóa. Thêm vào Form các nút
lệnh “Đầu”, “Trước”, “Sau” và “Cuối” để di chuyển con trỏ bản ghi của bảng DMKHOA về
bản ghi đầu, bản ghi trước, bản ghi tiếp và bản ghi cuối.
Lần lượt đặt tên cho các nút lệnh đó là cmdDau, cmdTruoc, cmdSau và cmdCuoi, láy ví
dụ.
Sửa lại chức năng trong các nút lệnh sao cho khi chuyển đến bản ghi đầu thì nút lệnh
“Đầu”, “Trước” sẽ disable, khi chuyển đến bản ghi cuối thì các nút lệnh “Sau”, “Cuối” sẽ
disable.
4. OptionGroup Box


Sử dụng cho: Lựa chọn một trong nhiều khả năng.




Các Properties thường dùng:
1) AutoSize: Tự động thay đổi kích thước của đối tượng cho phù hợp (phần
thiết kế). Thuộc tính này nhận các giá trị .T. và .F.
2) ButtonCount:Số các tùy chọn
3) Value: Giá tị trả về của option, giá trị này là số thứ tự mục chọn.
Khi thiết kế, có thể thay đổi một số thuộc tính khác của OptionGroup bằng cách nhấp
chuột phải vào đối tượng, tiếp đến chon Builder..
Vì đây là một dạng container nên để thay đổi các thuộc tính các đối tượng con của nó
bằng cách: nhấp chuột phải vào đối tượng, tiếp đến chọn Edit...




Các Methods và Events thường dùng: Không có methods, hoặc event nào đặt biệt
nên không giới thiệu ở đây.

Ví dụ:
5. CheckBox


Sử dụng cho: Lựa chọn một trong 2 khả năng.



Các Properties thường dùng:
1) Caption: Thể hiện phần text của đối tượng
2) Value: Checked - Giá trị 1 hoặc .T.; Unchecked - Giá trị 0 hoặc .F.




Các Methods và Events thường dùng:
1) Click (Event): Sự kiện này sảy ra khi người sử dụng click chuột trái vào check
box.

Ví dụ: Giả sử dùng check box để hiển thị thông tin về giới tính với qui ước checked Nam, và Unchecked là nữ.
Khi đó sự kiện click được viết như sau:
IF this.Value THEN
this.Caption="Nam"
ELSE
this.Caption="N÷"
ENDIF
6. Combo Box

7. List Box

8. Grid

9. Image

10. Timer

11. Page Frame


Bài tậP




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×