Lựa chọn hình thức hiển thị kết quả từ đó lựa chọn các thành phần điều khiển phù hợp, ví dụ như kết quả tính toán là số hoặc hình vẽ thì cần chọn điều khiển thích hợp để trình bày.. Tạo
Trang 1CHƯƠNG I I: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC
63
Hình III-18: Bố trí các điều khiển trên UserForm
6 Lựa chọn hình thức hiển thị kết quả từ đó lựa chọn các thành phần điều khiển phù hợp, ví
dụ như kết quả tính toán là số hoặc hình vẽ thì cần chọn điều khiển thích hợp để trình bày
Hình III-19: Trình bày kết quả bằng điều khiển hỗ trợ văn bản và hình ảnh
7 Viết mã lệnh cho các thành phần điều khiển Mã lệnh này sẽ được lưu trữ trong phần code của UserForm
11.1.1 Tạo UserForm và các thành phần điều khiển trong VBA IDE
Trong VBA IDE, UserForm được tạo ra bằng cách chọn trình đơn Insert Ö UserForm
Sau khi tạo UserForm, ta có thể thêm các thành phần điều khiển vào UserForm bằng cách lựa chọn điều khiển cần dùng từ hộp công cụ điều khiển (Control Toolbox) và thực hiện thao tác
Trang 264
kéo/thả vào vị trí thích hợp UserForm Kích thước của điểu khiển có thể thay đổi một cách dễ
dàng nhờ thao tác kéo chuột ở vùng biên của chúng
Thông thường trong hộp công cụ mặc định của VBA IDE chỉ có các thành phần điều khiển chuẩn của VB, các điều khiển này đáp ứng được hầu hết các nhu cầu cơ bản về thiết kế giao diện Tuy nhiên người dùng có thể bổ sung những thành phần điều khiển khác vào hộp công cụ
trên bằng cách sử dụng Additional Controls có sẵn trên hộp công cụ (hiển thị bằng cách nhấn
chuột phải vào hộp công cụ) Với mỗi máy tính khác nhau thì nội dung các điều khiển có thể bổ sung là khác nhau bởi chúng phục thuộc vào các thư viện lập trình được cài đặt trên máy tính
đó
Hình III-20: Bổ sung thêm điều khiển cho hộp công cụ (Toolbox) của VBA IDE
11.1.2 Các thuộc tính của UserForm và các thành phần điều khiển
Các thuộc tính (Properties) là các thông số quy định đặc điểm, tính chất cũng như trạng thái của UserForm hay các điều khiển, ví dụ màu nền của một điểu khiển được quy định bởi thuộc tính
Điều khiển được
lựa chọn trên
Control Toolbox
Điều khiển được tạo bằng cách kéo/thả vào UserForm
Trang 3CHƯƠNG I I: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC
65
BackColor Những thuộc tính này có thể được thay đổi trong lúc thiết kế UserForm hoặc lúc chương trình đang chạy Tuy nhiên một số thuộc tính không cho phép thay đổi mà chỉ cho phép người dùng biết được giá trị của nó (thuộc tính chỉ đọc – Read Only) Trong quá trình thiết kế UserForm, khi ta dùng chuột chọn bất cứ thành phần nào trên UserForm (kể cả chính
UserForm) thì các thuộc tính của nó sẽ được hiển thị tương ứng trong cửa sổ Properties của
VBA IDE
Hình III-21: Thành phần điều khiển và vị trí hiển thị các thuộc tính của nó
Một số thuộc tính cơ bản của UserForm và các điều khiển:
Thuộc tính Giải thích
Name Thể hiện tên của UserForm hay điều khiển Đây là thuộc tính rất quan trọng, là yếu
tố xác định điều khiển khi lập trình Thuộc tính này chỉ được thay đổi lúc thiết kế giao diện (trong của sổ Properties của VBA IDE)
BackColor Giá trị kiểu Long thể hiện màu nền của UserForm hay điều khiển
Caption Giá trị kiểu String thể hiện tiêu đề của UserForm hay điều khiển
Enable Giá trị kiểu logic (Boolean) xác định trạng thái làm việc của điều khiển, giá trị bằng
True ứng với trạng thái hoạt động, giá trị bằng False ứng với trạng thái không hoạt động (điều khiển coi như bị vô hiệu hoá và thường được hiển thị mờ đi trên UserForm)
Visible Giá trị kiểu logic (Boolean) xác định trạng thái hiển thị của điều khiển, giá trị bằng
True ứng với sự hiển thị điều khiển, giá trị bằng False ứng với sự ẩn điều khiển Font Thể hiện kiểu và cỡ chữ hiển thị trên UserForm hoặc điều khiển
Picture Thể hiện hình ảnh trên nền UserForm hoặc điều khiển
ControlTipText Giá trị kiểu String thể hiện chú thích về điều khiển khi chuột di chuyển qua
(Tooltip) trong lúc chương trình hoạt động
MouseIcon Thể hiện biểu tượng con trỏ chuột hiển thị trên điều khiển
MousePointer Thể hiện loại con trỏ chuột hiển thị trên nút lệnh
Trang 466
CỢI Ý Ngoài ra, ứng với mỗi loại điều khiển có thể còn có thêm nhiều thuộc tính khác
hoặc không có một số các thuộc tính được liệt kê ở trên Người dùng có thể tìm hiểu các thuộc tính này trong Object Browser hoặc trong Help (chọn điều khiển và bấm F1) của VBA IDE
Việc thay đổi thuộc tính của các điều khiển có thể được thực hiện bằng hai cách:
1 Cách 1: Thay đổi trực tiếp trong quá trình thiết kế: chọn điều khiển và thay đổi giá trị của các thuộc tính trong cửa sổ Properties của VBA IDE Cách này trực quan và dễ thực hiện
đối với đa số các thuộc tính của hầu hết các điều khiển Ví dụ: để thay đổi tiêu đề cho một UserForm dưới đây, kích chuột chọn UserForm sau đó nhập tên của tiêu đề vào phần Caption của cửa sổ Properties
Hình III-22: Thay đổi giá trị thuộc tính trong khi thiết kế UserForm
2 Cách 2: Thay đổi trong lúc chương trình đang chạy: về thực chất, các thuộc tính chính là
dữ liệu của các thành phần điều khiển (thường gọi chung các điều khiển này là đối tượng) hay chính là các biến được định nghĩa riêng cho điều khiển đó cho nên ta có thể sử dụng phép gán thông thường để thay đổi giá trị cho một số thuộc tính Cú pháp thực hiện như sau:
<Tên_điều_khiển>.<Tên_thuộc_tính> = giá trị thuộc tính
<Tên_UserForm>.<Tên_thuộc_tính> = giá trị thuộc tính
GỢI Ý Tên_điều_khiển hay Tên_UserForm ở đây chính là giá trị thuộc tính Name của
điều khiển đã được đặt khi thiết kế Khi viết mã lệnh trong một UserForm thì có thể thay
việc dùng tên của UserForm đó bằng từ khoá Me
Ví dụ, ứng với UserForm có tên là UserForm1 như ở trên, có thể thay đổi tiêu đề của nó bằng
mã lệnh như sau:
UserForm1.Caption = “Cua so chinh”
11.1.3 Các phương thức của UserForm và các thành phần điều khiển
Các phương thức có thể xem chúng là những chương trình con đặc biệt, chúng chỉ làm việc với các dữ liệu của điều khiển và tương tác lên chính điều khiển đó Để phương thức hoạt động,
Trang 5CHƯƠNG I I: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC
67
cần phải gọi nó (tương tự như gọi chương trình con) bằng mã lệnh khi lập trình Cú pháp gọi phương thức của một điều khiển hay UserForm cũng tương tự như với biến đối tượng:
<Tên_điều_khiển>.<Tên_phương_thức> <(tham_số_của_phương_thức)>
<Tên_UserForm>.<Tên_phương_thức> <(tham_số_của_phương_thức)>
Ví dụ: muốn hiển thị UserForm1 như ở trên, gọi phương thức Show của nó với mã lệnh như sau:
UserForm1.Show
Trong phạm vi của giáo trình, không thể liệt kê tất cả các phương thức của các điều khiển Trong phần sau sẽ trình bày một số các phương thức cơ bản của một số loại điều khiển thông dụng Để biết chi tiết về những phương thức khác, có thể tra cứu trong Object Browser hoặc trong Help của VBA IDE
11.1.4 Các sự kiện trên giao diện
Các sự kiện trên UserForm hoặc các điều khiển được phát sinh khi có một hoạt động nào đó xảy ra – thường được phát sinh từ phía người dùng (sự kiện cũng có thể được phát sinh một cách gián tiếp từ quá trình thực hiện một phương thức nào đó).Ví dụ, khi người dùng rê chuột trên bề mặt UserForm sẽ phát sinh sự kiện MouseMove, khi người dùng kích chuột trên UserForm sẽ phát sinh sự kiện Click
Đi cùng với sự kiện còn có thủ tục sự kiện: là chương trình được thi hành khi sự kiện xảy ra
Thủ tục sự kiện cho phép người lập trình xử lý các tương tác của người dùng trên giao diện bằng cách viết các mã lệnh trong thủ tục sự kiện
Để viết mã lệnh cho một thủ tục sự kiện trên một UserForm, vào cửa sổ mã lệnh của UserForm
đó (nháy đúp chuột vào UserForm), chọn điều khiển và loại sự kiện tương ứng Sau đó viết mã lệnh vào trong thủ tục sự kiện đã được tạo ra
Một số sự kiện cơ bản của UserForm và các điều khiển:
Sự kiện Giải thích
Click xảy ra khi người dùng kích chuột trên UserForm hoặc trên điều khiển
DblClick xảy ra khi người dùng kích đúp chuột trên UserForm hoặc trên điều khiển
Thủ tục sự kiện gắn với đối tượng được phát sinh