11 thg 12, 2012

Powerpoint tương tác 03 - label (nhãn)/ button (nút)



Label/Button thông thường được dùng để hiển thị thông tin text đơn giản. Cho phép người dùng tác động lên thông qua các sự kiện như click, click đúp.

Thuộc tính
Mô tả
CaptionNội dung hiển thị trên label/button
EnableKích hoạt hay không kích hoạt. Nếu mang giá trị Falsengười dùng không thể tác động lên label/button.
VisibleÂn nếu mang giá trị False, hiện nếu mang giá trị True
WordWrapCho phép text nằm trên nhiều dòng nếu mang giá trịTrue, ngược lại text nằm trên 1 dòng
Bảng  2.2: Các thuộc tính cơ bản của Label

Sự kiện cơ bản của label/button là Click nghĩa là ta sẽ viết những hoạt động xảy ra khi người dùng click chuột vào chúng.

Ví dụ 2.2: Dùng nhãn để xây dựng câu hỏi dạng điền vào chổ trống với những từ cho trước như hình 2.2. Kết quả của ví dụ này là một slide trên đó có 5 chổ trống cần điền và 5 cụm từ cho trước. Người học sẽ điền vào chổ trống bằng cách click vào cụm từ cho sẵn sau đó click vào một ô trống. Người học có quyền làm lại bằng cách nhấn vào nhãn “Làm lại”. Sau khi làm xong người học click vào nút chấm điểm để xem điểm.

Ý tưởng: Sử dụng 5 label dành cho ô trống5 label dành cho cụm từ cho trước3 labellần lượt cho “Chấm điểm”, “Làm lại”, và điểm trả về. Ngoài ra còn có 1 label ẩn dùng để làm trung gian. Khi người dùng click vào cụm từ cho sẵn sẽ gán caption của label này cho label tạm. Khi người dùng click vào ô trống ta thực hiện gán caption của label tạm cho label ô trống.

Hình  2.2: Điền vào ô trống với từ cho trước làm bằng Label

Lưu ý
  • Nếu có nhiều label, đầu tiên ta tạo một label, gán các thuộc tính cần thiết cho label này như Font (Vni-Avo), canh lề…vv. Sau đó dùng CTRL + di chuyển đối tượng để copy nhanh đối tượng.
  • Có thể cùng lúc gán thuộc tính cho nhiều đối tượng cùng lúc bằng cách dùng phímSHIFT + click để chọn nhiều đối tượng và thay đổi thuộc tính trong cửa sổ Properties.
  • Những nội dung cố định chỉ cần dùng Text Box bình thường của thanh công cụ Drawing.
Hướng dẫn chi tiết:
Bước 1: Tạo một label, gán thuộc tính font = Vni-AvoText Align =2. Sau đó copy ra thành 14 label.
Bước 2: Lần lượt đặt tên các đối tượng như sau: lblO1, lblO2, lblO3, lblO4, lblO5 (dành cho các ô trống), lblAnswer1, lblAnswer2, lblAnswer3,  lblAnswer4, lblAnswer5 (dành cho các cụm từ cho trước), lblChamDiem, lblReset, lblDiem (dành cho “Chấm điểm” , “Làm lại” và chứa điểm khi người dùng click vào “Chấm điểm”), lblTemp (dùng làm label trung gian để chuyển caption từ cụm từ cho trước sang ô trống) riêng label này có thuộc tính visible=0 để không hiển thị lên slide.
Bước 3: Thực hiện đoạn code giúp người dùng chuyển caption từ cụm từ cho trước sang ô trống. Ở đây ta dùng label trung gian. Khi người dùng click vào cụm từ cho trước ta sẽ gán caption của lable trung gian bằng với caption của cụm từ này.
'Khi nguoi dung click vao cum tu 1 (Chu Nhat)
Private Sub lblAnswer1_Click()
 lblTemp.Caption = lblAnswer1.Caption
End Sub

'Khi nguoi dung click vao cum tu 2 (25)
Private Sub lblAnswer2_Click()
 lblTemp.Caption = lblAnswer2.Caption
End Sub

'Khi nguoi dung click vao cum tu 3 (Dong)
Private Sub lblAnswer3_Click()
 lblTemp.Caption = lblAnswer3.Caption
End Sub

'Khi nguoi dung click vao cum tu 4 (Tay)
Private Sub lblAnswer4_Click()
 lblTemp.Caption = lblAnswer4.Caption
End Sub

'Khi nguoi dung click vao cum tu 5 (24)
Private Sub lblAnswer5_Click()
 lblTemp.Caption = lblAnswer5.Caption
End Sub
Bước 4: Khi người dùng click vào ô trống, ta gán caption của label tạm cho ô trống.
'Khi nguoi dung click vao o trong 1 (Chu Nhat)
Private Sub lblO1_Click()
 lblO1.Caption = lblTemp.Caption
End Sub

'Khi nguoi dung click vao o trong 2 (25)
Private Sub lblO2_Click()
 lblO2.Caption = lblTemp.Caption
End Sub

'Khi nguoi dung click vao o trong 3 (Dong)
Private Sub lblO3_Click()
 lblO3.Caption = lblTemp.Caption
End Sub

'Khi nguoi dung click vao o trong 4 (Tay)
Private Sub lblO4_Click()
 lblO4.Caption = lblTemp.Caption
End Sub

'Khi nguoi dung click vao o trong 5 (24)
Private Sub lblO5_Click()
lblO5.Caption = lblTemp.Caption
End Sub
Bước 5: Khi người dùng muốn làm lại ta gán caption các ô trống về rỗng
Private Sub lblReset_Click()
 lblO1.Caption = ""
 lblO2.Caption = ""
 lblO3.Caption = ""
 lblO4.Caption = ""
 lblO5.Caption = ""
 lblDiem.Caption = ""
End Sub

Bước 6: Khi người dùng click vào “chấm điểm” ta lần lượt so sánh nội dung  của ô trống và cụm từ cho trước, nếu giống nhau (đúng) ta cộng dồn caption của label điểm với 1.
Private Sub lblChamDiem_Click()
 lblDiem.Caption = "0"
 If lblO1.Caption = lblAnswer1.Caption Then lblDiem.Caption = lblDiem.Caption + 1
 If lblO2.Caption = lblAnswer2.Caption Then lblDiem.Caption = lblDiem.Caption + 1
 If lblO3.Caption = lblAnswer3.Caption Then lblDiem.Caption = lblDiem.Caption + 1
 If lblO4.Caption = lblAnswer4.Caption Then lblDiem.Caption = lblDiem.Caption + 1
 If lblO5.Caption = lblAnswer5.Caption Then lblDiem.Caption = lblDiem.Caption + 1
End Sub

Ví dụ 2.3: Thay hai label “Chấm điểm” và “Làm lại” trên bằng button.
Tương tự như trên ta xóa 2 label nàytạo 2 button mới đặt tên lần lượt là btnChamDiem,btnReset. Nội dung code bên trong không thay đổi so với trường hợp trên. Chỉ khác là nút có giao diện 3D.
Private Sub btnReset_Click()
 lblO1.Caption = ""
 lblO2.Caption = ""
 lblO3.Caption = ""
 lblO4.Caption = ""
 lblO5.Caption = ""
 lblDiem.Caption = ""
End Sub

Private Sub btnChamDiem_Click()
 lblDiem.Caption = "0"
 If lblO1.Caption = lblAnswer1.Caption Then lblDiem.Caption = lblDiem.Caption + 1
 If lblO2.Caption = lblAnswer2.Caption Then lblDiem.Caption = lblDiem.Caption + 1
 If lblO3.Caption = lblAnswer3.Caption Then lblDiem.Caption = lblDiem.Caption + 1
 If lblO4.Caption = lblAnswer4.Caption Then lblDiem.Caption = lblDiem.Caption + 1
 If lblO5.Caption = lblAnswer5.Caption Then lblDiem.Caption = lblDiem.Caption + 1
End Sub

1 nhận xét:

  1. Private Sub lbl01_Click()
    lblTemp.Caption = lbl01.Caption
    End Sub
    Private Sub lblgiaiba1_Click()
    lblgiaiba1.Caption = lblTemp.Caption
    End Sub

    tại sao mình đánh câu lệnh này vào cho 2 label... mà khi trình chiếu... lại không hoạt động được?

    Trả lờiXóa

Vui lòng viết bằng tiếng Việt có dấu hoặc tiếng Anh. Các bình luận với mục đích spam, quảng cáo sẽ bị xóa mà không báo trước. Hệ thống tự động nhận diện link hình ảnh và các biểu tượng emotion.