關於ActiveX的教程[vb](轉帖)

關於ActiveX的教程
Visual Basic是面向對象的程序設計語言,微軟公司推出了ActiveX技術,利用ActiveX技術提出的標準,對界面的設計進行了封裝,形成了一系列編程控件,即特定功能的程序模塊。在程序的設計中,設計人員只需要拖動所需控件到窗體,然後對控件進行屬性設置和使用其方法、事件即可,大大減輕了繁瑣的程序設計。
第一節 認識並裝載ActiveX控件
任務1:ActiveX控件的概念和ActiveX控件的裝載方法
【任務的提出】Visual Basic工具箱上的標準控件只有21個。對於複雜的應用程序,僅僅使用一些標準控件是不夠的,可以應用Visual Basic以及第三方開發商提供的大量AcitveX控件。這些控件可以添加在工具箱上。目前在Internet上大約有1000多種AcitveX控件可供下載,大大節約了我們的開發時間。
本任務主要包括以下內容:
(1) 控件分類及ActiveX的概念。
(2) 裝載ActiveX控件。
11.1.1  控件分類及ActiveX的概念
Visual Basic 6.0中控件主要分爲三種:內部控件(標準控件)、ActiveX控件(外部控件)和可插入對象。
1.內部控件(也稱標準控件)
就是我們通常使用的如標籤、文本框、命令按鈕等常用控件,在我們運行Visual Basic 6.0環境時,可自動在工具箱中出現。如圖11-1所示。

圖11-1 工具箱中的內部控件
2.ActiveX控件
(1)ActiveX部件
VB功能之所以強大,很大程度上是藉助於ActiveX部件。所謂ActiveX部件是指一件可招待的代碼,如一個.exe 、.dll或 .ocx文件,它們在提供對象時遵循ActiveX的規範。在VB中,具有四種類型的ActiveX部件:ActiveX 控件、ActiveX.EXE、ActiveX.DLL 、ActiveX 文檔。ActiveX.EXE部件是不可視的代碼部件,能夠服務於多個應用程序,並且能夠在遠程計算機上運行,能安裝在服務器端;ActiveX.DLL 部件是不可視的代碼部件,能夠與應用程序運行在同一個進程中,能安裝在客戶端;ActiveX 控件是一個可視的部件,能夠作爲控件被拖放到不同的應用程序中;ActiveX 文檔也是一個可視的部件,能夠通過Internet上的Web瀏覽器打開。
(2)ActiveX控件
ActiveX控件稱爲擴充控件。ActiveX控件是一種具有可視設計外觀,並且能夠作爲可插件引入到應用程序中去的ActiveX部件,如ADO Data控件就是其中之一。“ActiveX控件”是一種擴展名爲 .OCX的獨立文件,通常存放在Windows的System目錄中。
大部分應用程序可以用內部控件來設計,但是有些功能,如:多媒體、動畫、計算機通訊等無法用內部控件來設計,只能通過ActiveX控件來實現。
3.可插入對象
可插入對象爲Windows應用程序對象。爲了在程序設計中能訪問和使用Excel 、Word的文件信息,VB提供了一種控件,幫助我們把Microsoft Excel Sheet、Microsoft Word及位圖文件等信息插入應用程序中,這就是可插入對象。
11.1.2  裝載ActiveX控件
一般情況下,工具箱中只有內部控件。爲了把所需要的ActiveX控件加到工具箱,可執行“工程”菜單中的“部件”命令,顯示圖10-2所示的部件對話框,從中選擇並添加即可。
   
圖11-2 裝載ActiveX控件                  圖11-3 添加外部控件
如果在列表框未找到想要的控件,或要添加外部控件(其他用戶自己設計的ActiveX控件),單擊“瀏覽(B)…”按鈕,找到要添加的ActiveX控件的.ocx文件,打開並添加進來即可,如圖11-3所示。
【新的任務】
通過本任務的學習,瞭解了控件分類及ActiveX控件的基本概念和添加方法。現在新的任務是:把常用ActiveX控件添加到工具箱中並查看它們的基本屬性及方法。
第二節  常用ActiveX控件
任務2:常用ActiveX控件瀏覽
【任務的提出】VB中有許多非常有用的ActiveX控件,我們不可能面面俱到,但對常用的ActiveX控件還是要做必要的瞭解。本任務主要包括以下內容:
(1) 熟悉常用ActiveX控件的屬性。
(2) 熟悉常用ActiveX控件的方法。
(3) 熟悉常用ActiveX控件的事件。
VB有許多控件,爲了讓大家熟悉VB中的常用ActiveX控件,我們先列出常用ActiveX控件的類名及所需文件,如表11-1所示。
表11-1  常用ActiveX控件的類名及所需文件
控件名稱 類名 所需文件
3D Check Box SSCheck TREED32.OCX
3D Command Button SSCommand TREED32.OCX
3D Frame SSFrame TREED32.OCX
3D Group Push Button SSRibbon TREED32.OCX
3D Option Button SSOption TREED32.OCX
3D Panel SSPanel TREED32.OCX
Animated Button AniPushButton ANIBIN32.OCX
Communications MSComm MSCOMM32.OCX
Gauge Gauge GAUGE32.OCX
Graph Graph GRAPH32.OCX GSW32.EXE
GSWDLL.DLL
Grid Grid GRID32.OCX
ImageCombo ImageCombo MSCOMCTL.OCX
ImageList ImageList MSCOMCTL.OCX
KeyState MhState KEYSTA32.OCX
ListView ListView MSCOMCTL.OCX
MAPI MapiSession
MapiMessages MSMAPI32.OCX
MaskedEdit MaskEdBox MSMASK32.OCX
Multimedia MCI MMControl MCI32.OCX
OutLine OutLine MSOUTL32.OCX
Picture Clip PictureClip PICCLP32.OCX
ProgressBar ProgressBar MSCOMCTL.OCX
RichTextBox RichTextBox RICHTX32.OCX
Slider Slider MSCOMCTL.OCX
SpinButton SpinButton SPIN32.OCX
SSTab SSTab TABCTL32.OCX
StatusBar StatusBar MSCOMCTL.OCX
TabStrip TabStrip MSCOMCTL.OCX
ToolBar ToolBar MSCOMCTL.OCX
TreeView TreeView MSCOMCTL.OCX
下面我們再看看常用的ActiveX控件,如表11-2所示。
表11-2  常用ActiveX控件一覽表
圖標 控件名稱 功能

Animation 實現動畫播放

MediaPlayer 實現電影等媒體播放

Winsock 支持TCP/IP協議,實現網絡通訊

MSComm 爲應用程序提供串口通訊功能

MMControl 管理多媒體接口(MCI)設備和多媒體文件的記錄和播放

WebBrowser 實現WWW瀏覽功能

Calendar 實現日曆顯示設置功能

ProgressBar 進度控制顯示功能
認識了常用ActiveX控件,下面介紹它們的常用屬性、方法和事件。
11.2.1 Animation控件
     Animation控件如圖11-4所示,爲avi無聲動畫播放控件,可實現avi動畫的播放功能。
圖11-4  Animation控件
 屬性
Center:決定動畫是否在控件的中央播放,取邏輯值。True——在中央播放;False——不在中央播放。
AutoPlay屬性:決定在用Open方法打開文件時是否自動播放,取邏輯值。True——自動播放;False——不自動播放。
 方法
Open:打開文件;打開指定的要播放的.avi文件。如Animation1.Open(“c:/Clock.avi”)。
Play:  播放動畫;啓動動畫播放功能。
Stop: 停止播放;停止動畫播放功能。
Close:關閉文件被播放的文件。
11.2.2  MediaPlayer控件
MediaPlayer控件可實現各種多媒體信息的播放,如圖10-5所示。

圖11-5  MediaPlayer控件
 屬性
Filename:被播放的文件路徑及文件名。
AutoStart:決定在用Open方法打開文件時是否自動播放,取邏輯值。True——自動播放;False——不自動播放。
 方法
Open:打開文件。打開指定的要播放的.avi文件。如Animation1.Open(“c:/Clock.avi”)。
Play:播放動畫。啓動動畫播放功能。
Stop:停止播放。停止動畫播放功能。
Pause:暫停播放的文件。
11.2.3  Winsock控件
Winsock控件是經常使用的網絡通信控件,如圖11-6所示。它支持TCP/IP協議,實現計算機間的數據通信,提供了兩種網絡服務方式——Tcp方式、Udp方式。

圖11-6 Winsock控件
 屬性
BytesReceived:返回接收到的數據的數量,其返回值爲Long型。接收到的數據可用GetData方法來獲取。
LocalHostName:返回本地機器名。此屬性只能在運行時有效。
LocalIP:返回本地機器的IP地址,其格式爲:XXX.XXX.XXX..XXX形式。
LocalPort:返回或者設置所用到的本地端口。該屬性可讀寫。
Protocol:返回或設置Winsock控件所使用的協議,可以是0—Tcp或1—Udp。
RemoteHost:返回或設置遠程計算機,控制數據的收發方向。
SocketHandle:返回一個與套接字句柄對應的值,控件用套接字句柄與Winsock通信。只讀。
State:返回控件的狀態,用枚舉型表示,State的取值如表11-3所示。
表11-3  State屬性取值
常量 值 說明
sckClosed 0 關閉(缺省)
sckOpen 1 打開
sckListening 2 偵聽
sckConnectingPending 3 連接掛起
sckResolvingHost 4 識別主機
sckHostResolved 5 已識別主機
sckConnecting 6 正在連接
sckConnected 7 已連接
sckClosing 8 同級人員正在關閉連接
sckError 9 錯誤
 方法
Accept:在處理ConnectionRequest事件時用此方法接受新連接。此方法只適合TCP服務器應用程序。
Bind:指定用於TCP連接的LocalPort和LocalIP。
Close:關閉客戶機和服務器應用程序的TCP連接或偵聽套接字。
GetData:獲得當前的數據塊並存儲在變體類型的變量中。
格式爲:.GetData data ,[type][maxlen]
Listen:建立套接字並將其設置爲偵聽模式,僅用於TCP連接方式。
PeekData:與GetData相似,只是從輸入隊列中刪除。僅用於TCP連接方式。
SendData:將數據發送給遠程計算機。
 事件
Close:當遠程計算機關閉連接時觸發此事件。
Connect:當連接操作完成後觸發此事件。
ConnectionRequest:當遠程計算機連接時觸發該事件。
DataArrival:數據通過活動連接到達時發生。
Error:後臺出錯時觸發此事件。
SendComplete:完成一個數據操作時出現事件。
SendProgress:發送數據期間觸發該事件。
11.2.4  MMControl控件
MMControl控件,簡稱MCI控件,是用來管理媒體控制接口(MCI)設備的控件。
  (1)MCI控件按鈕
MCI控件可以管理的MCI設備爲:聲卡、MIDI發生器、CD-ROM驅動器、音頻播放器、視頻播放器、視頻磁帶錄放器等。它像普通控件一樣可在窗體上畫出,。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章