Bài 09 - s d ng các control

ử ụ

I. gi i thi u ớ ệ

• Các đ i t c s d ng trong vi c thi ố ượ ng đi u khi n (Control) đ ể ề ượ ử ụ ệ ế ế ệ 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 ế ỉ

c thi FORM và các control. trên FORM). Ví d giao di n sau đ ụ ệ ượ t k t ế ế ừ

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 ấ ị ụ ộ

ng Label (nhãn) đ ng TextBox đ t ượ ượ c dùng đ hi n th m t chú thích, đ i t ị ộ ể ể ố ượ ượ c

dùng đ cho phép nh p li u, đ i t ng Command Button đ th hi n các nút ố ượ ể ệ ậ ể ệ ể

i dùng có th s d ng v i m c đích khác. l nh... Tuy nhiên ng ệ ườ ể ử ụ ụ ớ

• 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). ứ ự ệ ươ ự ư

t k (Form • Thanh công c ụ Form Controls: Khi đang m Form ở ở ch đ thi ế ộ ế ế

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: ườ

ph n text hi n th c a label. Thu c tính này có th ề ị ủ ể ầ ộ ể 1) Alignment: Canh l

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. ữ ả

c phù h p cho vi c hi n th thu c tính ự ộ ổ ướ ệ ể ợ ộ ị 2) Autosize: T đ ng thay đ i kích th

Caption c a nó. ủ

ủ ặ ầ ế ế ộ t k có th dùng h p ể 3) BackColor: Đ t m u n n c a Label. Trong khi thi ề

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. ầ ị

t l p tính ch t n n. Thu c tính này có th nh n m t trong ế ậ ấ ề ể ậ ộ ộ 4) BackStyle: Thi

các giá tr : (1) 0 - Transparent xác đ nh tính ch t trong su t c a n n (có ị ố ủ ề ấ ị

ng “phía sau”); (2) 1 - Opaque không cho quan sát th nhìn th y m i đ i t ấ ọ ố ượ ể

các đ i t ng phía sau. ố ượ

t k p thu c tính biên c a đ i t ng. Thu c tính này có ế ậ ố ượ ủ ộ ộ 5) BorderStyle: Thi

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 . ữ

ữ ặ ế ế ọ t k có th dùng h p m u đ ch n ể ể ầ ộ 8) ForeColor: Đ t m u ch . Trong khi thi ầ

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

Left: V trí c nh trái ạ ị 10)

Name: Tên c a đ i t ng trình) ố ượ ủ ng (dùng đ s d ng trong ch ể ử ụ ươ 11)

Top: V trí c nh trên ạ ị 12)

Visible: Thi ế ậ t l p tính ch t Hi n/ n. Thu c tính này nh n 2 giá tr : (1) ộ ệ ẩ ấ ậ ị 13)

.T. - Hi n ; (2) .F. - n. ệ ẩ

Width: Đ r ng c a label. ộ ộ ủ 14)

• 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 ớ ọ

c dùng làm tiêu đ cho các ô d li u bên c nh. h cọ ... trong Hình 1 đ ượ ữ ệ ề ạ

• 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

ế ớ ườ ế ng ho c bi n ặ 6) ControlSource: Cho phép “g n k t” (bound) textbox v i 1 tr ắ

nào đó (thông th ng). Vi c “G n k t” đây đ ườ ng v i 1 tr ớ ườ ế ở ệ ắ ượ ế 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. Ví d , thêm 1 textbox vào form và đ 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 ệ ự ệ ự ậ ộ ị

FontName: Xem ph n II.1 ầ 10)

ForeColor: Xem ph n II.1 ầ 11)

Format: Đ nh d ng d li u hi n th . Visual Foxpro qui đ nh kí hi u s ị ữ ệ ể ệ ạ ị ị ử 12)

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 )ự

Height: Xem ph n II.1 ầ 13)

ệ InputMask: Đ nh d ng d li u nh p. Visual Foxpro qui đ nh kí hi u ậ ữ ệ ạ ị ị 14)

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 . ữ ố ữ ố ậ ậ

Left: Xem ph n II.1 ầ 15)

MaxLength: S ký t i đa có th nh p (n u MaxLength=0 thì s ký ố t ự ố ể ế ậ ố 16)

là b t kỳ, đây là giá tr m c đ nh). t ự ị ặ ấ ị

SelectOnEntry: Thi t l p ch đ đánh d u text khi đ i t ng này ế ậ ế ộ ố ượ ấ 17)

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. ấ ộ

TabIndex: Th t theo Index c a đ i t ng (khi s d ng phím Tab ứ ự ố ượ ủ ử ụ 18)

con tr s di chuy n theo th t Index t ỏ ẽ ứ ự ể ừ ấ th p đ n cao) ế

Top: Xem ph n II.1 ầ 19)

Value: Giá tr là xâu text hi n th trên đ i t ng này. ố ượ ể ị ị 20)

Visible: Xem ph n II.1 ầ 21)

Width: Xem ph n II.1 ầ 22)

• Các Methods và Event th ng dùng: ườ

i” l ươ ạ ữ ệ ộ i d li u hi n th trên textbox. Ví d , đ t thu c ụ ặ ể ị 1) Refresh (method): “Làm t

tính ControlSource = text1 (text1 là 1 bi n), sau đó gán cho text1 =”Visual ế

i d li u trên Text. i l Foxpro”, khi đó c n th c hi n Refresh đ làm t ự ệ ể ầ ươ ạ ữ ệ

ng này. ỏ ế ố ượ ư 2) SetFocus (method): Đ a con tr đ n đ i t

c khi chuy n quy n đi u khi n t ự ệ ả ướ ể ề ề ể ớ ố i đ i 3) Valid (Event): S ki n này s y ra tr

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 thì có th yêu c u ng ợ ệ ủ c a d li u, n u không h p l ế ữ ệ ợ ệ ể ầ ườ ử ụ ậ i s d ng nh p

i.ạ l

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 c thi t l p các thu c tính ế ậ ộ

khi đó s ki n c vi t textbox đ ượ ế Name = hocky Maxlength=1 ự ệ hocky.valid đ ượ ế 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 l p các thu c tính c thi ế ậ ộ

khi đó s ki n c vi t textbox đ ượ ế Name = Khoa Maxlength=10 ự ệ Khoa.valid đ ượ ế 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 ườ ỉ ớ ầ ộ ố ệ ộ

i thi u các đ i t ng trên. v i các thu c tính đã gi ộ ớ ớ ệ ở ố ượ

ư ủ ể ệ ớ ị 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. ư

i nút l nh. ỏ ớ ư ặ ệ 4) ToolTipText: Đ t dòng text (tooltip) khi đ a con tr t

• Các Methods và Events th ng dùng: ườ

i s d ng click chu t trái vào nút ả ườ ử ụ ộ 1) Click (Event): S ki n này s y ra khi ng ự ệ

c thi l nh (nút l nh đ ệ ệ ượ ế ế t k chính đ đáp ng s ki n này). ứ ự ệ ể

t l p các thu c tính: Ví d 1: Thêm vào form nút l nh “Thoát” đ đóng form, thi ệ ụ ể ế ậ ộ

Caption=Thoát

Name=cmdThoat

Khi đó d ki n c vi ự ệ cmdThoat.Click đ ượ ế 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 ụ ụ ạ ậ ậ

c”, “Sau” và “Cu i” đ di chuy n con tr b n ghi c a b ng DMKHOA l nh “Đ u”, “Tr ầ ệ ướ ỏ ả ủ ể ể ả ố

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: ườ

c c a đ i t ự ộ ổ ướ ố ượ ủ ầ ng cho phù h p (ph n ợ 1) AutoSize: T đ ng thay đ i kích th

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

m c ch n. ị ả ề ủ ố ứ ự ụ ọ ị 3) Value: Giá t tr v c a option, giá tr này là s th t

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 ộ ố ủ ể ằ ổ ộ

Builder.. chu t ph i vào đ i t ả ố ượ ộ ng, ti p đ n chon ế ế

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: ườ

ng ể ệ ố ượ ủ ầ 1) Caption: Th hi n ph n text c a đ i t

ặ ặ ị ị 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: ườ

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

box.

c checked - Ví d : Gi ụ ả ử s dùng check box đ hi n th thông tin v gi ể ể ề ớ ị i tính v i qui ớ ướ

Nam, và Unchecked là n .ữ

c vi Khi đó s ki n click đ ự ệ ượ ế 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ậ