Visual Basic Bách Khoa-Chương 4- Xây dựng ActiveX Control

Chia sẻ: Son Cung | Ngày: | Loại File: DOC | Số trang:9

0
404
lượt xem
268
download

Visual Basic Bách Khoa-Chương 4- Xây dựng ActiveX Control

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'visual basic bách khoa-chương 4- xây dựng activex control', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Visual Basic Bách Khoa-Chương 4- Xây dựng ActiveX Control

  1. 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: 
  2. 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  
  3. 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 
  4. 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 ?...
  5.  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  Events instance Ðặt control vào trong Form  Design­time instance được  Initialize hình thành  InitProperties Resize Paint Cho ứng dụng làm việc lúc  Design­time instance bị loại  WriteProperties Design­time  bỏ, run­time instance hình  (if needed) Terminate thành  Initialize Resize ReadProperties Paint Rời bỏ ứng dụng có chứa  Run­time instance bị loại bỏ,  Terminate đựng Control trở về design  design­time instance hình  Initialize Resize mode  thành trở lại.  ReadProperties Paint Ðóng lại form mà form đó có  Design­time instance bị loại  WriteProperties chứa Control  bỏ  (if needed) Terminate Hoán chuyển ứng dụng  Run­time instance hình  Initialize thành các dạng khác để có  thành  ReadProperties Resize thể cho vay mượn  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). 
  6. 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.  Ambient object : Bộ phận này giúp các bạn đọc được các giá trị của từng ambient property.  Thí dụ như những hàng code sau đây cho chúng ta thấy cách xử dụng bộ phận Ambient trong  AmbientChanged event :  Private Sub UserControl_AmbientChanged(PropertyName As String) If PropertyName = "BackColor" Then UserControl.BackColor = Ambient.BackColor End If End Sub Xếp đặt cho property sẳn sàng hoạt động (Enabled Property) : Bạn phải làm 2 việc.  Thứ nhất là viết code, dùng Get và Let procedure.  Thứ nhì là đổi Enabled procedure  ID thành Enabled.  Thí dụ như những hàng code sau đây : Public Property Get Enabled() As Boolean Enabled = UserControl.Enabled End Property Public Property Let Enabled(ByVal NewValue As Boolean) UserControl.Enabled = NewValue PropertyChanged "Enabled" End Property Hãy theo các bước sau đây, các bạn có thể đổi Enabled procedure ID thành Enabled: 1. Trên Tools menu chọn Procedure Attributes. 2. Trong Name textbox, chọn Enabled procedure. 3. Bấm trên Advanced để mở rộng Procedure Attributes 4. Trong Procedure ID box, chọn Enabled thì code và user interface hòa hợp cùng  nhau. Chương 4_Phần 1_Ðoạn 6 : Setting Display Characteristics of your Control     Xếp đặt sao cho Control của bạn hiện hữu trong ứng dụng : Visual Basic làm dùm  cho bạn một số properties và một event để giúp các bạn sắp xếp Control của mình  xuất hiện trên khung ảnh máy vi tính khi ứng dụng tiến hành. Trong số đó có  BackStyle property.  BackStyle property có trong UserControl object dùng để sắp xếp 
  7. sự xuất hiện của Control.  Tuy nhiên, các bạn sẽ gặp một số trở ngại nếu các bạn có  Control chứa đựng những vấn đề sau đây : • Control của bạn chứa nhiều constituent controls khác. • Control của bạn chứa bitmap với lượng màu cao. • Control của bạn có Label với TrueType font và lượng chử cao.     Một phương pháp hữu hiệu khác là dấu đi Control và khiến nó xuất hiện trong quá  trình tiến hành ứng dụng.  Thí dụ như Timer control...Và muốn dấu nó đi, chúng ta sẽ  không lấy làm khó khăn khi đổi InvisibleAtRuntime trong UserControl Object.     Một điều quan trọng nữa là : làm sao trình bày Control của mình khi user xử dụng ?  Không dể dàng vì màn ảnh máy vi tính không những có nhiều cở không chưa đủ, user  họ còn xếp đặt màn ảnh của họ lớn nhỏ nữa để thích nghi với yêu cầu làm việc của  họ???...Nhưng các bạn không cần lo !!!...Vì Visual Basic làm cho bạn một event gọi là  Resize event.  Khi user xử dụng ứng dụng của bạn, với Resize event, họ sẽ không gặp  trở ngại và chúng ta đở phiền phức.  Sau đây là thí dụ về Resize event : Private Sub UserControl_Resize() Const MinWide = 2000 If UserControl.ScaleWidth < MinWide Then Text1.Width = 1000 Else 'Scale textbox to size of the UserControl. Text1.Width = UserControl.ScaleWidth - Text1.Left End If End Sub Chương 4_Phần 1_ Ðoạn 7 : Customizing your Control for the VB Environment Sau khi các bạn đã tạo thành một ActiveX Control rồi thì để dể dàng cho những  người khác trong nhóm viết ứng dụng xử dụng cái ActiveX control đó, có 2 chuyện  chúng ta nên làm : 1. Thêm vào Control đó một About box nói khái quát về ActiveX control 2. Thêm vào một Bitmap để trình bày về ActiveX control đó trong Visual Basic  toolbox Thêm About box vào ActiveX Control : Ðó là một property trong Properties  Window.  About box này sẽ trình bày khái quát về Công ty, chuyên nghiệp, chức năng  của ActiveX control...Dưới đây là hình ảnh cho thấy About box property:
  8. Theo các bước sau đây, các bạn sẽ thêm About box property vào trong control một  cách dể dàng: 1.      Mở một form và đặt tên là form About 2.      Viết một Public procedure như sau : Public Sub ShowAbout() frmAbout.Show vbModal Unload frmAbout Set frmAbout = Nothing End Sub 3.      Phân phối Pubilc procedure cho About box property : a)     Trên Tool menu, chọn procedure Attributes b)     Trong khung ảnh Procedure Attributes, chọn procedure mà nó trình bày  About box, rồi bấm trên Advanced c)     Trong danh sách Procedure ID, chọn About box, rồi bấm trên OK Dùng Bitmap tượng trưng cho ActiveX control trong toolbox : Trong UserControl  object, có một property là ToolboxBitmap, property này giúp các bạn thêm bitmap vào  trong toolbox.  Khi hoàn thành, các bạn sẽ có một bitmap xuất hiện trong toolbox như  sau:
Đồng bộ tài khoản