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

Tài liệu Visual Basic Bách Khoa-Chương 4- Xây dựng ActiveX Control doc

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 (199.79 KB, 8 trang )

Chương 4 : Building ActiveX Control
ActiveX Control là một object trong ứng dụng, được viết dưới dạng *.ocx và bộ
phận này đặt trong form và nối liền với những ứng dụng khác như Visual basic
application, Microsoft Office documents (Word, Exel...), Web pages trình bày bởi
Internet Explorer. Hãy xem khi các bạn xử dụng ActiveX Control, bạn sẽ có những lợi
ích gì ?
Chương 4 _Phần 1 _Ðoạn 1 : Giới thiệu về Controls
Activex Controls là bộ phận được xử dụng nhiều lần, bao gồm visual elements và code.
Control Classes : Controls được hoán chuyển thành file dưới dạng *.ocx và các bạn sẽ đặt
*.ocx file này vào trong form của ứng dụng. Bước này chúng ta gọi là design-time instance,
khi người xử dụng cho form này chạy thì bộ phận ActiveX sẽ hoạt động, bước này gọi là
run-time instance. Sau đây là hình ảnh trình bày về Control class và những bộ phận có liên
quan với nó :
Project files : Source codes và property value được giử dưới dạng *.ctl (text file) và đi
chung với *.frm (form file). Graphical elements được giử dưới dạng *.ctx và đi chung với
*.frx . Tất cả các files trên không thể thiếu khi hoán chuyển thành dạng ứng dụng, vì thiếu
chúng, các bạn sẽ gặp trở ngại. Sau đây là hình ảnh cho thấy một ActiveX bao gồm những
gì ...
Chương 4_Phần 1_Ðoạn 2 : Cách tạo thành một ActiveX Control
Tuần tự chúng ta có 7 bước để tạo thành một ActiveX Control:
1. Mở một ActiveX Control project, giống như hình ảnh như sau

2. Thêm vào user interface cho nó, chẳng hạn như textbox, command button...
3. Xếp đặt properties và methods cho control đó.
4. Viết event procedure cho control đó, những tiết mục mà nó sẽ biểu diển, thí dụ như
một clock control sẽ được xử dụng trên web page

5. Hoàn thành Events và các tiết mục sẳn sàng biểu diển khi gọi đến, thí dụ như tạo
thành một clock control như sau

6. Tạo thành property pages cho Control


7. Ðiều chỉnh và chạy thử Control, bằng cách cho form mà có chứa control là start up
project


Chương 4_Phần1 _Ðoạn 3 : Adding Constituent Controls
Một ActiveX Control bao gồm 2 bộ phận : UserControl object và Constituent Control.
UserControl Object : Ðậy là bộ phận căn bản để tạo thành ActiveX Control. UserControl
Object gồm có code modules và visual designer như chúng ta đã nói ở phần trên. Khi
chúng ta mở bộ phận UserControl object thì bộ phận này được trình bày trong Visual
Designer Window. Các bạn cũng có thể xử dụng Visual Designer Window Property để thêm
vào Constituent Control (Tổ hợp các control phụ trong ActiveX Control mà đã được đặt trong
Form). Sau đây là hình ảnh cho thấy UserControl Visual Designer với các hàng code đi
chung với nó :
Constituent Control : Nói cách khác là một instance của một bộ phận mà đã được đặt
vào trong Form. Một khi mà bạn cho vào trong Form một ActiveX Control, thì cùng một lúc
các instance của UserControl Object cũng được hình thành và hổ trợ cho nhau. Sau đây là
hình ảnh cho thấy một UserControl Object cùng với các tổ hợp (constituent) của nó :
Khi các bạn xử dụng các ActiveX Control không có trong tiêu chuẩn của Visual Basic, các
bạn cần phải có sự đồng ý của người làm ra ActiveX Control đó.
Chương 4_Phần 1_Ðoạn 4 : User Control events
ActiveX Control là bộ phận chạy trên Form hoặc là những thể loại chứa đựng Control
khác như Frame...ngoại trừ OLE object...cho nên những events (tiết mục mà nó sẽ biểu diển
hay nói cách khác là những công việc sẽ được tiến hành) có phần khác biệt với những
control events đặt trên tiêu chuẩn *.exe form. Khi các bạn làm một Control cho ứng dụng
của mình thì UserControl object sẽ làm việc như một bản sao (blueprint). Và bản sao này
đặt vào trong Form thì instance của Control đó cũng đồng thời được dựng nên để mà hổ trợ
cho nhau. Những việc đó làm xong rồi thì các tiết mục sẽ được biểu diển. Visual Basic xử
dụng từ Event là từ ý nghĩa đó. Có phải là trước khi biểu diển các bạn phải chuẩn bị sân
khấu hay không ? Có sân khấu rồi thì các diển viên đã sẳn sàng chưa ? Khi diển viên biểu
diển thì âm thanh và ánh sáng đã sẳn sàng chưa ?...

Và trong UserControl event cũng tiến hành tương tự như vậy, control đã được đặt vào
trong Form hay các Container khác hay chưa ? Instance của Control đó đã hình thành với
các chức năng riêng biệt cho nó chưa? Kho nbu liệu đã sẳn sàng đáp ứng các tài liệu mà
bạn muốn không ?...Một event quan trọng là initialize, nó kiểm duyệt ứng dụng của các bạn
đã đáp ứng đúng các yêu cầu mà control sẽ làm cho các bạn hay chưa ? Chúng tôi sẽ trình
bày cùng các bạn các event quan trọng trong UserControl sau đây :
User action Type of Control
instance
Events
Ðặt control vào trong Form Design-time instance được
hình thành
Initialize
InitProperties
Resize
Paint
Cho ứng dụng làm việc lúc
Design-time
Design-time instance bị loại
bỏ, run-time instance hình
thành
WriteProperties
(if needed)
Terminate
Initialize
Resize
ReadProperties
Paint
Rời bỏ ứng dụng có chứa
đựng Control trở về design
mode

Run-time instance bị loại
bỏ, design-time instance
hình thành trở lại.
Terminate
Initialize
Resize
ReadProperties
Paint
Ðóng lại form mà form đó
có chứa Control
Design-time instance bị loại
bỏ
WriteProperties
(if needed)
Terminate
Hoán chuyển ứng dụng
thành các dạng khác để có
thể cho vay mượn
Run-time instance hình
thành
Initialize
ReadProperties
Resize
Paint

Chương 4_Phần 1_Ðoạn 5 : Interacting with a Container Application
Bởi vì control object bản chất của nó là đa tính, đa dạng, cho nên các bạn không thể nào
đoán trước được control mà bạn sắp sửa xử dụng sẽ nằm trong container nào ? và càng
không thể biết control đó biến dạng lớn nhỏ cở nào...Do đó, các bạn khi sắp đặt control của
mình vào bất cứ container nào, đều phải để ý tới bản chất chung quanh hay là ảnh hưởng

chung quanh giửa container và control. Visual Basic 6 giúp bạn làm việc này bằng cách tạo
sẳn cho bạn một object gọi là Ambient properties (đặc tính chung quanh giửa container và
control phụ thuộc vào nhau như thế nào ?). Cở lớn nhỏ của control được Visual Basic điều
khiển bởi Resize event (chúng ta đã nói qua ở phần trên).
Xử dụng Ambient Properties : Containers cung cấp cho Ambient Properties một số đặc
tính để thích nghi với control, khi control đặt để vào trong container. Thí dụ như là
BackColor property. Màu sắc của Control có phù hợp với container hay không ?...
AmbientChanged Event : Tiết mục này sẽ được biểu diển khi ambient property có biến
đổi. Vì nó là một event, cho nên các bạn phải viết code và argument (phần mà event phụ
trách) của nó là PropertyName để xác định propery nào thay đổi.

×