Chương 4_ Phần 2 : Exposing Properties,
Methods, Events
ActiveX Control sẳn sàng
cho các bạn xử dụng những chức năng
của nó. Properties, methods,
events của ActiveX control đều xài được
cả. Phương pháp
đơn giản nhất là xử dụng ActiveX Control
Interface Wizard để tạo thành properties, methods, events.
Các bạn cũng có thể tạo thành properties,
methods, events mà không cần xài ActiveX Control Wizard.
Trong chương này, chúng tôi sẽ trình bày cùng Quí
vị những vấn đề sau đây: Xử dụng
Property procedure để tạo thành properties, xác nhập
properties vào một control đa dạng (Multiple Control),
giử và giao trả các giá trị của properties, thêm vào
methods và dẩn đưa events vào trong ứng dụng.
Chương 4_Phần 2_Ðoạn 1 : Xử
dụng ActiveX Control Interface Wizard
Visual Basic 6 có thể lập thành cho các bạn
một ActiveX Control đơn giản bằng ActiveX Control
Interface Wizard. Chúng ta có 3
bộ phận chính là property object, method object và event object mà
chúng ta phải dẩn đưa vào trong Control.
Do đó, để không gặp trở ngại về
sau, chúng ta phải hiểu rỏ ràng sự quan hệ
giửa các bộ phận đó với nhau như thế nào.
Theo các bước sau đây, các bạn sẽ tự
tạo cho mình một ActiveX Control đơn giản:
1). Vào trong Add In Manager, chọn VB6 ActiveX Control và bấm vào check box(loaded)

2). Chúng ta sẽ thấy khung ảnh ActiveX Control Interface Wizard và bắt đầu chạy cái Wizard (chương trình tự động). Wizard sẽ làm cho chúng ta 2 việc : xác định properties, methods, events và viết code cho những bộ phận đó.

3). Chọn các properties, methods, events tiêu chuẩn mà Visual Basic 6 đã có sẳn cho bạn.

4). Thêm vào những properties, methods, events mà bạn muốn lập thành.

5). Tiếp tục thêm properties, methods, events cho đến khi đã đầy đủ.

6). Mapping _ tạo mối quan hệ lẩn nhau giửa properties, control và member. Một trong những bước quan trọng, vì nếu không mapping, tạo mối quan hệ, thì các tính chất của các bộ phận không hổ trợ cho nhau và các bạn sẽ gặp trở ngại.

7). Xác định tính chất của từng bộ phận, như bộ phận nào sẽ giao trả những giá trị gì...

8). Bấm vào nút Finish khi chấm dứt xử dụng ActiveX Control Interface Wizard.

9). Kiểm lại code trong View Code window để xem Wizard đã viết những gì...

Chương 4_Phần 2 _Ðoạn 2 : Adding
Properties
Thành lập Property : Ðể thành lập
một property, các bạn cần xác định nơi
chứa đựng tài liệu, nhu liệu cho property đó,
rồi mới lập một tiến trình để
xếp đặt và bàn giao những nhu liệu hay tài
liệu mà property hàm chứa. Ðồng
thời, các bạn cũng phải cho Visual Basic biết khi
property có sự biến đổi. Ðể Visual Basic biết sự biến đổi
đó, bạn xử dụng method gọi là PropertyChanged.
Method này có trong UserControl object ngay trong tiến trình
của procedure.
Xử dụng Property Procedure
: Như chúng ta đã nói ở phần trên, procedure đi
với nhau từng cặp, Set hay Let với Get (Xin lưu ý
là các Property procedure này có cùng một tên).
Lý do là khi ứng dụng đọc property thì Property
Get procedure tiến hành. Khi
ứng dụng bàn giao một giá trị nào đó của
property thì Property Let procedure hay Property Set procedure tiến hành.
Sau đây là một thí dụ là làm sao thay đổi
giá trị của hàng chữ thành chữ viết hoa.
Visual Basic gọi là UpperCase property, chúng ta sẽ
thấy một cặp property Let và Get như sau:
Private
m_UpperCase as Boolean
Public
Property Get UpperCase()As Boolean
UpperCase =
m_UpperCase
End
Property
Public
Property Let UpperCase(ByVal New_UpperCase As Boolean)
m_UpperCase =
New_UpperCase
PropertyChanged
"UpperCase"
End
Property
Chương 4_ Phần 2_ Ðoạn 3 :
Exposing Constituent Control Properties
Trong quá trình tạo thành
ActiveX Control, bạn phải phô bày Constituent Control (Một
tổ hợp control không có bao gồm trong Visual basic.
Do đó, khi người xử dụng làm việc
với ActiveX control của bạn, họ sẽ không
thể làm việc được nếu bạn không trình
bày cho cho những tổ hợp control riêng biệt đó.
Một cách đơn giản nhất là bạn làm
properties (đặt tính hay tính chất của bộ
phận) sẳn sàng trong UserControl object, cái control mà bạn
để trong ứng dụng. Thí
dụ như bạn muốn làm một control trong đó
chứa đựng Label control và Textbox control, hãy xử
dụng property procedure để đưa các control đó
vào trong UserControl object. Sau
đây là thí dụ về một Caption property của Label
control, nó là một tổ hợp control trong UserControl object:
Public
Property Get Caption()As String
Caption =
lblName.Caption
End
Property
Public
Property Let Caption(ByVal NewCaption As String)
lblName.Caption
= NewCaption
PropertyChanged
"Caption"
End
Property
Lưu
ý là có một số property có cùng tên, chẳng hạn như
Width, các bạn phải xác định một tên khác
để khỏi lầm lẩn.
Thí dụ sau đây là làm sao để thêm vào Control
một tính chất (propperty) LastNameWidth được
cột với Width property trong tổ hợp Control là
txtLastName :
Public
Property Get LastNameWidth()As Integer
LastNameWidth
= txtLastName.Width
End
Property
Public
Property Let LastNameWidth(ByVal NewLastNameWidth As Integer)
txtLastName.Width
= NewLastNameWidth
PropertyChanged
"LastNameWidth"
End
Property
Ðồng thời các bạn cũng có thể tạo mối quan hệ giửa property với nhiều tổ hợp control khác. Thí dụ như ForeColor property có thể liên hệ với một tổ hợp control đa dạng như sau :
Public
Property Get ForeColor() As OLE_COLOR
ForeColor =
UserControl.ForeColor
End
Property
Public
Property Let ForeColor(ByVal New_ForeColor As OLE_COLOR)
Dim ctl As
Object
UserControl.ForeColor
= New_ForeColor
For Each ctl
In Controls
If(TypeOf ctl
Is Label) _
Or (TypeOf ctl
Is CheckBox) Then
ctl.ForeColor
= New_ForeColor
End If
Next
PropertyChanged
"ForeColor"
End
Property
Chương 4_ Phần 2_ Ðoạn 4 : Adding methods
Method là một Sub hay là Function procedure được
trình bày bởi một bộ phận (object). Các bạn có thể làm cho mình một method
riêng biệt dựa trên những methods có sẳn trong
tổ hợp control (constituent control).
Thành lập một method : Bạn có thể thành
lập một method bằng cách nhận định Public
Sub hoặc là Function procedure. Tương
tự như thành lập method trong chương 3, xử
dụng Class Module. Sau đây
là thí dụ căn bản làm sao để có một method
cho một ActiveX control. Các
bạn làm một procedure là stop và start button cho một
ActiveX control.
1.
Thêm code vào trong control để tạo mối liên
hệ giửa design-time và run-time.
2.
Thêm vào command để gọi method đó.
a)
Lúc design-time
b)
Lúc run-time
3.
Chạy thử ứng dụng
Cũng như cách trên, các bạn có thể thêm methods vào
trong các tổ hợp control khác.
Thí dụ như để thêm một SetFocus method vào
trong tổ hợp textbox control, textbox txtEmpID là một
tổ hợp control vì nó liên hệ với kho nhu liệu
(Database)
Public
Sub IDFocus()
txtEmpID.SetFocus
End
Sub
(...còn tiếp...mời Quí
vị xem trang kế tiếp ...)
|
Vovisoft © 2000. All rights reserved. | ||||
|
Last Updated: 21 Jun 2007 |
||||