999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VB的超文本系統(tǒng)中熱鏈功能的設(shè)計(jì)與實(shí)現(xiàn)

2008-12-31 00:00:00樊顯昧
電腦知識(shí)與技術(shù) 2008年36期

摘要:該文介紹了利用VB設(shè)計(jì)簡(jiǎn)單適用的超文本功能時(shí)熱鏈功能的設(shè)計(jì)與實(shí)現(xiàn)方法。

關(guān)鍵詞:超文本;Visual Basic;熱鏈

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2008)36-2655-03

Designing and Achieving Hotlink of hypertext System in VB

FAN Xian-mei

(Technique Center of Modern Education, Anhui University of Architecture, Hefei 230022, China)

Abstract:The article describes a new methods to designed and achieve hotlink in a simple and practicable hypertext system in VB

Key words: Hypertext; Visual Basic; Hotlink

1 引言

使用過WINDOWS的人都會(huì)用到Micsorft復(fù)雜的幫助系統(tǒng),該系統(tǒng)可以讓用戶很快地找到特定的主題,并且通過單擊熱鏈在主題與主題之間跳轉(zhuǎn)。WINDOWS幫助系統(tǒng)是典型的超文本應(yīng)用程序。

超文本是近年來興起的一種表示和管理多媒體信息的強(qiáng)有力工具。與傳統(tǒng)文本相比超文本的最大特點(diǎn)是:它可以把信息根據(jù)需要以非線性的方式鏈接起來。結(jié)點(diǎn)(Node)和鏈(Link)是超文本的兩個(gè)核心概念。結(jié)點(diǎn)是信息的單位,可以包括文本、圖像、聲音、視頻、動(dòng)畫等各種媒體信息。鏈用來組織信息,表達(dá)信息間的關(guān)系(包括媒體間的時(shí)空關(guān)系),實(shí)現(xiàn)結(jié)點(diǎn)間的連接與轉(zhuǎn)移(單向與雙向)。因此,超文本試圖通過非線性的手段,將相關(guān)信息有機(jī)地組織在一起,模擬人腦的自由聯(lián)想。它不僅注意信息本身,更注意信息之間的聯(lián)想關(guān)系。建立和瀏覽信息系統(tǒng)時(shí),用戶可以任意選擇起始點(diǎn)和其后的順序。

熱鏈?zhǔn)浅谋镜撵`魂,它定義了超文本的結(jié)構(gòu),其作用主要是用來建立結(jié)點(diǎn)之間的基本順序。

2 熱鏈的基本要素

在顯示的超文本中,熱鏈總是突出顯示,它是一個(gè)活動(dòng)的區(qū)域,當(dāng)鼠標(biāo)在熱鏈上移動(dòng)時(shí),會(huì)改變指針的形狀,當(dāng)用戶在活動(dòng)區(qū)域內(nèi)單擊鼠標(biāo)時(shí),會(huì)被引導(dǎo)到相關(guān)主題。熱鏈可以是文本或圖片。熱鏈的內(nèi)容可以用異種格式(帶下劃線、粗體/斜體、改變顏色、圖標(biāo)、按鈕等)給予標(biāo)記。

熱鏈的特點(diǎn)包括兩個(gè)方面:一是鼠標(biāo)處于其上時(shí)具有不同的形狀;二是單擊鼠標(biāo)左鍵的響應(yīng)。操作過程上可以分為兩個(gè)事件:鼠標(biāo)移動(dòng)和鼠標(biāo)單擊。由鼠標(biāo)移動(dòng)的響應(yīng)函數(shù)完成對(duì)鼠標(biāo)是否在熱鏈上的判斷,若在熱鏈上則改變鼠標(biāo)的形狀。在單擊鼠標(biāo)事件的響應(yīng)函數(shù)中,根據(jù)鼠標(biāo)的開關(guān)來確定應(yīng)彈出的相應(yīng)信息。

3 超文本中熱鏈的設(shè)計(jì)與實(shí)現(xiàn)

目前有多種方法開發(fā)超文本系統(tǒng)。由于VB不支持超文本,因此,筆者在用VB開發(fā)多媒體CAI教學(xué)軟件時(shí)用VB開發(fā)了一個(gè)小型的超文本系統(tǒng)。本文僅介紹其中熱鏈功能的實(shí)現(xiàn)方法。

3.1 鼠標(biāo)指針圖形的設(shè)計(jì)

在通常情況下我們?cè)谄聊簧纤吹降氖髽?biāo)指針形狀為雙線箭頭,當(dāng)鼠標(biāo)移動(dòng)到熱鏈上時(shí),其指針形狀將改變以提示用戶此處是熱區(qū),這里指針形狀的改變是由Mous.Move函數(shù)來實(shí)現(xiàn)。而鼠標(biāo)的指針形狀的設(shè)計(jì)和選擇有兩種方法:第一種方法是利用現(xiàn)有資源。這種方法比較簡(jiǎn)單,在WINDOWS系統(tǒng)和VB軟件的Cursors子目錄中有許多擴(kuò)展名為.CUR的圖標(biāo)文件,這些文件提供了各種不同形狀的圖形,我們?cè)陂_發(fā)軟件時(shí)可以根據(jù)不同的需要適當(dāng)加以選擇后直接應(yīng)用(只要將所選擇的圖形文件拷貝到相應(yīng)的路徑及文件夾中即可)。當(dāng)然還可以利用各種能夠找到的擴(kuò)展名為.ICO的圖標(biāo)文件。第二種方法是自己設(shè)計(jì)鼠標(biāo)圖形。目前有許多易學(xué)實(shí)用的圖標(biāo)編輯工具軟件,比較常見的有以下幾種:Axialis IconWorkshop(全功能圖標(biāo)編輯軟件)、YansIconMaker(Ico格式圖標(biāo)及ani格式動(dòng)態(tài)光標(biāo)制作)、Falco Image Studio (圖標(biāo)制作和編輯工具)、IconCool Studio(ico圖標(biāo)編輯和圖標(biāo)制作工具)、IcoFX(圖標(biāo)編輯工具)、Easy Paint Tool SAI(專業(yè)級(jí)的圖標(biāo)制作工具)、IconLover(icon圖標(biāo)處理軟件)、ArtIcons Pro(創(chuàng)建和編輯以及管理系統(tǒng)環(huán)境下圖標(biāo)ico)等。利用這些工具軟件可以對(duì)已有圖標(biāo)進(jìn)行修改編輯,也可以自行設(shè)計(jì)具有獨(dú)特風(fēng)格的個(gè)性化鼠標(biāo)圖形,圖形編輯結(jié)束后,將所編輯的圖形以合適的文件名存放到適當(dāng)?shù)哪夸浿?,系統(tǒng)將會(huì)把該文件以.ICO或.CUR后綴文件格式存放。

根據(jù)圖形來源不同,在VB應(yīng)用程序中,編寫相應(yīng)的語句如下:

Cursor1=LoadPicture(“D:\\ICONS\\MOUSE02.ICO”) \\\\自定義圖形

Cursor2=LoadPicture(“D:\\ICONS\\MOUSE03.CUR”)\\\\自定義圖形

Cursor3=LoadPicture(“C:\\Windows\\Couser\\Buzy_1.CUR”) \\\\系統(tǒng)提供的圖形

以上的文件路徑應(yīng)根據(jù)文件存放位置自行設(shè)置。

3.2 MousePointer和MouseIcon屬性的設(shè)置

在VB系統(tǒng)中為控件設(shè)置了MousePointer屬性和MouseIcon屬性,MousePointer屬性用來設(shè)置或返回當(dāng)鼠標(biāo)經(jīng)過對(duì)象某一部分時(shí)鼠標(biāo)指針的類型,該屬性設(shè)有15個(gè)值,當(dāng)其返回值為0—14時(shí),鼠標(biāo)的圖形為系統(tǒng)設(shè)置的不同的默認(rèn)形狀;當(dāng)其值為99時(shí),則顯示自定義鼠標(biāo)圖形。因此,在應(yīng)用程序中若要使用自定義的鼠標(biāo)圖形,必須蔣該屬性的值設(shè)為99,否則蔣不能顯示自定義的鼠標(biāo)圖形。MouseIcon屬性提供一個(gè)自定義圖標(biāo),使程序能夠很容易地訪問自定義光標(biāo),它可以是任意大小并具有任何熱點(diǎn)的光標(biāo),它在MousePionter屬性設(shè)為99時(shí)使用。為窗體上的Picture1控件設(shè)置自定義鼠標(biāo)指針類型的相應(yīng)語句示例如下:

Frmjtzd.Picture1.MousePionter=99

Frmjtzd.Picture1.MouseIcon= LoadPicture(“D:\\ICONS\\MOUSE02.ICO”) \\\\自定義圖形

雖然VB不創(chuàng)建或不支持彩色光標(biāo)(.CUR格式)文件,但可以使用MouseIcon屬性來裝入光標(biāo)或者圖標(biāo)文件。這樣裝入的彩色光標(biāo)文件(例如Windows附帶的)將以黑白形式顯示。要顯示一個(gè)彩色光標(biāo),應(yīng)使用彩色圖標(biāo)文件(.ICO格式)。

目前在高版本的Windows系統(tǒng)中支持32位高色彩的鼠標(biāo)指針,然而在VB程序中,卻不支持這么高位的色彩,也不支持動(dòng)畫圖標(biāo),因此,若要載入32位色彩或者動(dòng)畫的鼠標(biāo)指針,可以通過調(diào)用Windows的API函數(shù)實(shí)現(xiàn)這一目的。這里用到兩個(gè)API函數(shù),LoadCursorFromFile用于裝入新光標(biāo)(xin),需要指明新光標(biāo)的具體路徑及文件名;SetClassLong用于設(shè)置使用新光標(biāo)(NewCur)。這一函數(shù)使用時(shí)會(huì)返回一個(gè)代表前一個(gè)光標(biāo)的變量值(OldCur),為我們關(guān)閉程序時(shí)得以方便的恢復(fù)原始光標(biāo)(OldCur)。函數(shù)的VB定義如下:

Private Declare Function LoadCursorFromFile Lib \"user32\" Alias \"LoadCursorFromFileA\"(ByVal lpFileName As String) As Long

Private Declare Function SetClassLong Lib \"user32\" Alias \"SetClassLongA\" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Dim NewCur As Long

Dim OldCur As Long

為窗體對(duì)象設(shè)置新光標(biāo)的語句示例:

Private Sub Form_Load()

NewCur = LoadCursorFromFile(\"C:\\WINDOWS\\CURSORS\\ handns.ani\")

OldCur = SetClassLong(hwnd, -12, NewCur)

End Sub

恢復(fù)原始光標(biāo)的語句示例:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

SetClassLong hwnd, -12, OldCur

End Sub

3.3 建立跟蹤熱鏈的數(shù)據(jù)結(jié)構(gòu)

超文本文檔中將會(huì)包含許多超級(jí)鏈接,程序只有記錄了熱鏈在屏幕中的位置后,我們才能跟蹤它們,為此,必須定義一個(gè)記錄熱鏈位置的數(shù)據(jù)結(jié)構(gòu):

Private Type Link_Type

Left X As Integer

Top X As Integer

Right X As Integer

Bottom X As Integer

LinkIndex As Integer

End Type

這個(gè)數(shù)據(jù)主要用于記錄熱鏈在屏幕中的位置,這是由程序來實(shí)現(xiàn)的,當(dāng)文字在屏幕上顯示的同時(shí),讀取文字的子程序會(huì)自動(dòng)的識(shí)別其中的熱鏈,并記錄其各熱鏈在屏幕上的位置(上、下、左、右)及序號(hào),以備下一步使用。

3.4 建立鼠標(biāo)移動(dòng)事件與其響應(yīng)函數(shù)的映射

當(dāng)經(jīng)過處理后的超文本文件顯示在屏幕上時(shí),其熱鏈部分將以異種格式顯示,此時(shí)熱鏈在屏幕中的位置已經(jīng)被相應(yīng)的子程序記錄下來,當(dāng)光標(biāo)在其上移動(dòng)時(shí),光標(biāo)的形狀將改變以提示用戶此處是熱鏈,這一功能的實(shí)現(xiàn)是由鼠標(biāo)移動(dòng)事件及其響應(yīng)函數(shù)來完成的。該項(xiàng)函數(shù)主要用來判斷鼠標(biāo)是否在熱點(diǎn)上,若在則改變鼠標(biāo)指針形狀。相應(yīng)的語句如下:

Private Sub Picture1_mouseMove(Button As Integer, Shift As integer, X As single, Y As single )

Dim found As integer

Dim Index As integer

Found=1

For index=1 to CurrentLink

If(X>Links(index).left X) and ((Xlink(indx) .Top Y)

and ((Y

Found=ture

End if

Next Index

If Found Then

Frmjtzd .Picture1 .MouseIcon=Couser1 \\\\用戶自定義鼠標(biāo)指針圖形

Frmjtzd .Picture1 .MousePointer=99

Else

Frmjtzd .Picture1 .MousePointer=0

End if

End sub

3.5 建立單擊鼠標(biāo)事件與其響應(yīng)函數(shù)的映射

鼠標(biāo)移動(dòng)到熱鏈上后將改變形狀,這時(shí)單擊鼠標(biāo)則可以彈出相關(guān)信息,這一功能的實(shí)現(xiàn)主要是由MouseDown函數(shù)來完成的。假如Picture1中(100,100,200,200)的矩形區(qū)域?yàn)闊徭溗谖恢?,Word的內(nèi)容為與熱鏈相關(guān)的信息內(nèi)容,則相應(yīng)的部分函數(shù)語句如下:

Private Sub Picture1_mouseDown (Button As Integer, Shift As integer, X As single, Y As single )

Dim found As integer

Dim Index As integer

Found=1

For index=1 to CurrentLink

If(X<200 and X>100 and Y>100 and Y<200) then

Picture2.piont Word

End if

Next Index

End sub

4 結(jié)束語

熱鏈?zhǔn)浅谋镜暮诵?,是?shí)現(xiàn)超文本功能的關(guān)鍵技術(shù),本文介紹的方法已應(yīng)用于我們開發(fā)的多媒體CAI教學(xué)軟件中,用此方法可以輕松實(shí)現(xiàn)多個(gè)熱鏈響應(yīng),效果很好。

參考文獻(xiàn):

[1] Regelski M.Visual Basic 開發(fā)多媒體應(yīng)用程序[M].謝東譯.北京:清華大學(xué)出版社,1997.

[2] Petroutsos E.Visual Basic 從入門到精通[M].邱促潘,譯.北京:電子工業(yè)出版社,1997.

主站蜘蛛池模板: 国产中文一区a级毛片视频| 91精品国产综合久久香蕉922| 色婷婷国产精品视频| 台湾AV国片精品女同性| 毛片网站在线播放| 欧洲亚洲欧美国产日本高清| 久久久久国产精品嫩草影院| 久久这里只有精品23| 国产成人啪视频一区二区三区 | 亚洲黄色视频在线观看一区| 国产麻豆永久视频| 国产毛片基地| 亚洲国产系列| 国产精品成人一区二区不卡| 国产91av在线| 亚洲伦理一区二区| 亚洲最新网址| 久久精品人人做人人综合试看| 欧美在线综合视频| 扒开粉嫩的小缝隙喷白浆视频| 国产内射一区亚洲| 东京热一区二区三区无码视频| 在线观看免费国产| 国产精品久久久久久久伊一| 在线播放国产99re| 亚洲国产精品成人久久综合影院 | 日本高清在线看免费观看| 国产乱人激情H在线观看| 秘书高跟黑色丝袜国产91在线| 亚欧美国产综合| 素人激情视频福利| 亚洲精品你懂的| 久久精品欧美一区二区| 国产精品99r8在线观看| 不卡国产视频第一页| 中文字幕永久视频| 国产一级毛片高清完整视频版| 国产精品免费入口视频| 中文字幕免费视频| 熟女日韩精品2区| 国产精品不卡永久免费| 亚洲欧美成aⅴ人在线观看| 一级香蕉人体视频| 日本亚洲国产一区二区三区| 久久精品人妻中文系列| 欧美性猛交一区二区三区| 国产精品自在自线免费观看| 日本在线免费网站| 丰满的熟女一区二区三区l| 日本国产精品一区久久久| 国产日本一区二区三区| 国产一区二区精品高清在线观看 | 国产乱子伦视频三区| 99热这里都是国产精品| 露脸真实国语乱在线观看| 人妻少妇乱子伦精品无码专区毛片| 黄色网在线| 老汉色老汉首页a亚洲| 精品人妻无码中字系列| 亚洲区欧美区| 日韩国产黄色网站| 无码人妻热线精品视频| 国产人成乱码视频免费观看| jijzzizz老师出水喷水喷出| 亚欧美国产综合| 国产又色又爽又黄| 女人18毛片一级毛片在线 | 毛片一区二区在线看| 国产主播喷水| 中文字幕欧美日韩| 啦啦啦网站在线观看a毛片| 欧美一级高清免费a| 亚洲成人动漫在线| 国产精品视频导航| 四虎永久免费网站| 国产乱子精品一区二区在线观看| 国产小视频a在线观看| 欧美色99| 欧美日韩综合网| 中文字幕免费播放| 日本精品视频一区二区| 无码'专区第一页|