![Label控件應(yīng)用方案_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/0dddc8e0-7654-468d-a6bd-662dde269968/0dddc8e0-7654-468d-a6bd-662dde2699681.gif)
![Label控件應(yīng)用方案_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/0dddc8e0-7654-468d-a6bd-662dde269968/0dddc8e0-7654-468d-a6bd-662dde2699682.gif)
![Label控件應(yīng)用方案_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/0dddc8e0-7654-468d-a6bd-662dde269968/0dddc8e0-7654-468d-a6bd-662dde2699683.gif)
![Label控件應(yīng)用方案_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/0dddc8e0-7654-468d-a6bd-662dde269968/0dddc8e0-7654-468d-a6bd-662dde2699684.gif)
![Label控件應(yīng)用方案_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/0dddc8e0-7654-468d-a6bd-662dde269968/0dddc8e0-7654-468d-a6bd-662dde2699685.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、label控件應(yīng)用方案知識(shí)講解1. 功能label控件即標(biāo)簽控件,是visual basic控件中最基本的控件。label控件可以用來(lái)顯示用戶(hù)不能直接改變的文本信 息??梢栽趯傩源翱谥性O(shè)置控件的顯示文本信息,也可以通過(guò)編寫(xiě)程序代碼來(lái)改變控件的顯示文本信息。label控 件最常用的功能是用來(lái)標(biāo)識(shí)控件,例如textbox控件沒(méi)有自己的caption屬性,這時(shí)就可以使用label來(lái)標(biāo)識(shí)textbox 控件。2. 屬性label控件的部分常用屬性如表1所示。表1label控件的常用屬性編號(hào)屬性說(shuō)明1autosize決定控件是否自動(dòng)改變大小以顯示其全部?jī)?nèi)容2backstyle用來(lái)指定label控件的背景
2、是否為透明3borderstyle返回或設(shè)置控件邊框的樣式4caption確定標(biāo)簽控件屮顯示的文本內(nèi)容5wordwrap返回或設(shè)置一個(gè)值,該值用來(lái)指示一個(gè)autosize屬性設(shè)置為 true的label控件,是否要進(jìn)行水平或垂直展開(kāi)以適合其 caption屬性中指定文本的要求下面對(duì)比較重要的屬性進(jìn)行詳細(xì)介紹。(1) caption 屬性確定標(biāo)簽控件中顯示的文本內(nèi)容。語(yǔ)法:object.caption = stringobject:對(duì)象表達(dá)式。string:字符串表達(dá)式,其值是被顯示為標(biāo)題的文本。示例:下例在標(biāo)簽控件屮顯示當(dāng)前系統(tǒng)的日期。在窗體啟動(dòng)時(shí),在label控件屮顯示當(dāng)前系統(tǒng)的h期。如圖1
3、所示。圖1顯示當(dāng)前系統(tǒng)的fi期程序完整代碼如下:private sub form_load()label 1 .caption = dateend subcaption屬性允許文本的長(zhǎng)度最多為1024個(gè)字符。在默認(rèn)情況下,當(dāng)文本超過(guò)控件寬度時(shí),文本會(huì)自動(dòng)換行;當(dāng)文 本超過(guò)控件高度時(shí),超出部分將被裁剪掉。在程序中設(shè)置其屬性的寫(xiě)法如下:label 1 .caption ="供應(yīng)商編號(hào)”(2) backstyle 屬性返回或設(shè)置一個(gè)值,它指定label控件的背景是否為透明。語(yǔ)法:object.backstyle = numberobject:對(duì)象表達(dá)式。number:數(shù)值表達(dá)式,用于確定透
4、明性,當(dāng)number值為0時(shí),表示label控件為透明狀態(tài);當(dāng)值為1時(shí),表示label 控件為非透明狀態(tài)。backstyle屬性用于設(shè)置標(biāo)簽控件的背景是否透明。在本實(shí)例中,將標(biāo)簽控件的backstyle屬性值設(shè)置為0, caption 屬性設(shè)置為空,放置在窗體背景圖片上,則可模擬按鈕,從而達(dá)到美化界面的效果。如圖2所示。m11企止信息管翟系免mgl ye di4. i x i n xigux i t o ng吉林省明日科技有限公司版權(quán)所育圖2將標(biāo)簽控件的背景設(shè)置為透明如將標(biāo)簽的背景設(shè)置成透明,其代碼如下:label 1.backstyle = 0(3) borderstyle (邊框)屬性該屬
5、性用來(lái)設(shè)置標(biāo)簽邊框的樣式,其屬性值有兩種狀態(tài):當(dāng)屬性值取0時(shí),表示控件的四周沒(méi)有邊框,如圖3所示。在程序中設(shè)置其屬性值的代碼如下:label 1 .borderstyle=0當(dāng)屬性值収1時(shí),表示控件的四周加上立體邊框,如圖4所示。在程序中設(shè)置其代碼的屬性值,其寫(xiě)法如下:label 1 .borderstyle 二 1圖3不加邊框的標(biāo)簽屬性設(shè)置圖4加邊框的標(biāo)簽屬性設(shè)置(4) autosize 和 wordwrap 屬性.autosize屬性確定標(biāo)簽是否會(huì)隨標(biāo)題內(nèi)容的多少口動(dòng)變化。如果autosize屬性的屬性值為true,則隨caption內(nèi)容 的多少自動(dòng)調(diào)整控件本身的大小,且不換行;如果值為f
6、alse,表示標(biāo)簽的尺寸不能自動(dòng)調(diào)整,超出尺寸范圍的內(nèi) 容將不顯示。如將label控件的寬度設(shè)置成隨文字長(zhǎng)度自動(dòng)調(diào)整,其寫(xiě)法如下:label 1 .autosize = truewordwrap屬性用來(lái)設(shè)置當(dāng)標(biāo)簽在水平方向上不能容納標(biāo)簽中的文本時(shí),是否折行顯示文本。當(dāng)其值為true時(shí),表 示文本折行顯示,標(biāo)簽在垂直方向上放大或縮小以適合文本的大小,標(biāo)簽水平方向的寬度保持不變;其值為false 時(shí),表示文本不換行。上述兩個(gè)屬性主要用來(lái)確定文本如何在標(biāo)簽屮顯示。有時(shí)候,標(biāo)簽屮的文字內(nèi)容會(huì)動(dòng)態(tài)地變化,此時(shí),如果想保持 標(biāo)簽水平方向的長(zhǎng)度不變,應(yīng)同時(shí)使wordwrap和autosize屬性為true;
7、若僅僅希望在水平方向上改變標(biāo)簽的大小, 只需將autosize屬性設(shè)為true,而wordwrap屈性保持為false即可。下面以設(shè)計(jì)合同管理系統(tǒng)屮查看操作員窗體屮的label控件為例,來(lái)講解一下label控件的常用屬性設(shè)置方法。 在如圖2.39所示的窗體界面中,將label 1的caption屬性值設(shè)置為“當(dāng)前操作員”,alignment屬性值設(shè)置為2-center, backstyle屬性設(shè)置為o-transparent,設(shè)置完的效果如圖5所示。圖5 label控件的屬性設(shè)置(5) alignment 屬性alignment屬性用于設(shè)置caption屬性中文本的對(duì)齊方式,其對(duì)齊方式有3種可
8、選值:值為0時(shí)為左對(duì)齊(left justify ); 值為1時(shí)為右對(duì)齊(right justify);值為2時(shí)為居中對(duì)齊(center justify如要將label 1標(biāo)簽內(nèi)的文字設(shè)置成“居中對(duì)齊”顯示,可以用如下的代碼來(lái)實(shí)現(xiàn):label 1. alignment = 23.方法label控件常用方法介紹如表2所示。表2label控件的常用方法編號(hào)方法說(shuō)明1linkexecute在一次dde對(duì)話過(guò)程中將命令字符串發(fā)送給發(fā)送端應(yīng)用程序2linkpoke在dde對(duì)話過(guò)程中將label控件的內(nèi)容傳送給發(fā)送端應(yīng)用程序3linksend在一次dde對(duì)話中將label控件的內(nèi)容傳輸?shù)浇邮斩藨?yīng)用程序4l
9、inkrequest在一次dde對(duì)話中請(qǐng)求發(fā)送端應(yīng)用程序更新label控件中的內(nèi) 容5move用以移動(dòng)mdiform、form或控件下面對(duì)比較重要的方法進(jìn)行詳細(xì)介紹。(1) linkexecule 方法在一次dde對(duì)話過(guò)程中將命令字符串發(fā)送給發(fā)送端應(yīng)用程序。不支持命名參數(shù)。語(yǔ)法:object.linkexecute stringobject:對(duì)象表達(dá)式。string:字符串表達(dá)式,它含有源應(yīng)用程序所識(shí)別的命令。例如建立一個(gè)microsoftexcel的dde鏈接,將一些值放置到一,個(gè)新工作單的第一行的單元里。linkexecute向 microsoftexcel發(fā)送激活工作單的命令,如圖6、7
10、所示。圖6激活工作單圖7激活工作單后的效果程序代碼如下:private sub form_click()dim cmd, i, q, row, z '聲明變量q = chr(34) '定義引用標(biāo)記創(chuàng)建一個(gè)含有microsoft excel宏指令的字串cmd = “activate(” & q & “sheetl" & q & ”)“cmd = cmd & ”select(” & q & ur1c1:r5c2" & q & ”)“ cmd = cmd & ”new(2,1)arra
11、nge.all()“if label 1 .linkmode = vbnone thenz = shell(”excel", 4)'啟動(dòng) microsoft excellabel l.linktopic = hexcel|sheet 1 “設(shè)置連接主題label 1.linkitem = “r1c1 ”,設(shè)置連接項(xiàng)目labell .linkmode = vblinkmanual,設(shè)置連接模式end iffor 1 = 1 to 5row = i ,定義行號(hào)label 1 .linkitem = hrh & row & ”c1",設(shè)置連接項(xiàng)目label
12、 i .caption = chr(64 + i) 將值放置在 text 中l(wèi)abel 1 .linkpoke,將值放入單元labell.linkitem 二 “r” & row & ”c2”,設(shè)置連接項(xiàng)目labell.caption = row ,將值放置在 text 中l(wèi)abel 1 .linkpoke ,將值放入單元next i,執(zhí)行 microsoft excel 命令on error resume nextlabel 1 .linkexecute cmdend sub注意:string的實(shí)際值根據(jù)源應(yīng)用程序而改變。例如,microsoft excel和microsof
13、t word for windows接受括在方括號(hào)()中宏命令所組成的命令字符串。要查看源應(yīng)用程序所接受的命令字符串,請(qǐng)查閱該應(yīng)用程序的文檔。(2) move 方法用以移動(dòng)mdiform> form或控件。不支持命名參數(shù)。語(yǔ)法:object.move left, top, width, heightmove方法語(yǔ)法中各參數(shù)的說(shuō)明如表3所示。 表3參數(shù)說(shuō)明參數(shù)說(shuō)明object可選的參數(shù)。對(duì)彖表達(dá)式left必需的參數(shù)。單精度值,指示object左邊的水平坐標(biāo)值top可選的參數(shù)。單精度值,指示object頂邊的垂直坐標(biāo)值width可選的參數(shù)。單精度值,指示object新的寬度height可選的
14、參數(shù)。單精度值,指示object新的高度示例:下例演示的是當(dāng)程序運(yùn)行時(shí),單擊窗體上的控制按鈕,將使label控件移動(dòng)到指定的位置。如圖8所示。iii.formliii.formlcommandlcommandl圖8移動(dòng)控件的位置程序完整代碼如下:private sub command 1 _click()label 1 .move 600, 600, 1000, 300end sub4.事件label控件的常用事件如表4所示。表4label控件的常用事件編號(hào)事件說(shuō)明1change指示一個(gè)控件的內(nèi)容已經(jīng)改變。該事件在一個(gè)dde鏈接更新數(shù)據(jù) 或通過(guò)代碼改變caption屬性的設(shè)置時(shí)發(fā)生2click
15、此事件在標(biāo)簽控件上按下然后釋放一個(gè)鼠標(biāo)按鍵吋發(fā)生。它也會(huì)在 一個(gè)控件的值改變時(shí)發(fā)生3dblclick當(dāng)在標(biāo)簽控件上按下和釋放鼠標(biāo)按鍵并再次按下和釋放鼠標(biāo)按鍵 時(shí),該事件發(fā)生4linkclose此事件在一個(gè)dde對(duì)話結(jié)束時(shí)發(fā)生。dde對(duì)話的兩個(gè)應(yīng)用程序任 何時(shí)候都可以終止對(duì)話5linkerror當(dāng)一個(gè)dde對(duì)話過(guò)程中出現(xiàn)錯(cuò)誤時(shí),該事件發(fā)生。僅在發(fā)生了一個(gè)dde有關(guān)的錯(cuò)誤并且沒(méi)有visual basic代碼被執(zhí)行來(lái)處理這些錯(cuò) 誤時(shí),才會(huì)將其錯(cuò)誤號(hào)作為參數(shù)傳遞6linkopen此事件在一個(gè)dde對(duì)話正在啟動(dòng)時(shí)發(fā)生下面對(duì)比較重要的事件進(jìn)行詳細(xì)介紹。(1) click 事件此事件是在一個(gè)對(duì)象上按下然后釋
16、放一個(gè)鼠標(biāo)按鍵時(shí)發(fā)生,它也會(huì)在控件的值改變時(shí)發(fā)生。語(yǔ)法:private sub object_click(index as integer)object:對(duì)象表達(dá)式。index: 一個(gè)整數(shù),用來(lái)惟一地標(biāo)識(shí)一個(gè)在控件數(shù)組屮的控件。(2) linkclose 事件此事件在一個(gè)dde對(duì)話結(jié)束吋發(fā)生。dde對(duì)話的兩個(gè)應(yīng)用程序任何吋候都可以終止對(duì)話。語(yǔ)法:private sub object_linkclose(lindex as integer)object:對(duì)象表達(dá)式。index: 一個(gè)整數(shù),它用來(lái)惟一標(biāo)識(shí)一個(gè)在控件數(shù)組中的控件。示例下例演示label控件的linkclose事件。linkclose
17、事件在dde xj話之后發(fā)生,在關(guān)閉如圖9所示的窗體時(shí),觸發(fā) label控件的linkclose事件,提示dde對(duì)話己經(jīng)結(jié)束的提示信息,如圖10所示。圖9讀取數(shù)據(jù)圖10提不信息程序主要代碼如下:private sub label 1 _linkclose()msgbox ”己經(jīng)關(guān)閉dde對(duì)話連接”,48, ”提示信息”end sub程序完整代碼如下:private sub command l_click()dim currow as string '確保連接不是活動(dòng)的.label 1 .linkmode = 0label 1 .linktimeout = 30'設(shè)置應(yīng)用程序的名
18、字和題目名.label 1 .linktopic = "excel|sheetl"label 1.linkitem = ,rlcr,* 設(shè)置 linkitem.labell.linkmode= 1* 設(shè)置 linkmode 為自動(dòng).label 1 .linkrequest,更新標(biāo)簽中的內(nèi)容lab_sex. l i n k m ode = 0lab_sex.linktopic = "excel|sheetl"lab_sex.linkitem 二 ”r1c2”lab_sex.linkmode = 1lab_age .linkmode = 0lab_age.l
19、inktopic = "excel|sheetl"lab_age.linkitem = "r1c3"lab_age.linkmode = 1labg.linkmode = 0lab_jg.linktopic = "excei|sheetl"lab_jg.linkitem = "r1c4"labg.linkmode = 1lab_dh.linkmode = 0lab_dh.linktopic = uexcel|sheetl"lab_dh.linkitcm 二”r1c5”lab_dh. linkmode =
20、1lab_dz.linkmode = 0lab_d 乙 linktopic = "excel|sheetl"lab_dz.linkitem = ”r1c6“l(fā)ab_dz.linkmode = 1end subprivate sub label l_linkclose()msgbox ”已經(jīng)關(guān)閉dde刈話連接”,48, ”提示信息“end subprivate sub label l_linkerror(linkerr as integer)if linkerr = 1 thenmsgbox ”已經(jīng)有另一個(gè)應(yīng)用程序按照此錯(cuò)誤的格式請(qǐng)求過(guò)數(shù)據(jù)48, ”提示信息“elself l
21、inkerr = 6 thenmsgbox”接收端應(yīng)用程序試圖繼續(xù)dde對(duì)話。“,4&”提示信息“elself linkerr = 7 thenmsgbox ”所有源鏈接都在使用中?!?4& ”提示信息“elself linkerr = 8 thenmsgbox ”更新控件中的數(shù)據(jù)失敗“,48, ”提示信息“elself linkerr = 11 thenmsgbox”無(wú)足夠的內(nèi)存給dde使用“,4&“提示信息”end ifend sub應(yīng)用一:label控件區(qū)域控制中的應(yīng)用當(dāng)鼠標(biāo)在label控件的區(qū)域時(shí),處理一些事物;當(dāng)鼠標(biāo)不在label控件的區(qū)域時(shí),可以恢復(fù)事物為初
22、始狀態(tài),以達(dá) 到動(dòng)態(tài)變化的效果。例如,當(dāng)鼠標(biāo)移動(dòng)到label 1控件(作為命令按鈕)上時(shí),label 1控件為按下?tīng)顟B(tài);當(dāng)鼠標(biāo)移 動(dòng)到label2控件的區(qū)域時(shí),label 1控件為抬起狀態(tài)。設(shè)計(jì)結(jié)果如圖11所示。人*福諭管鰹系娩hngds蘭bntff日??济度?【變勸決甫查詢(xún)ib 電洛:(0431 ) 4972266圖11人事檔案管理系統(tǒng)主界面具體設(shè)計(jì)步驟如下:(1)將圖形化的主界面作為窗體背景。(2)將label 1控件數(shù)組中的元素按順序放置在不同功能的圖形按鈕上,設(shè)置caption屬性值為空、backstyle屬性 值為 u 0-transparentvo(3)調(diào)整label2控件的大小,
23、基本與窗體一樣大,然后放置在窗體上。設(shè)置caption屬性值為空、backstyle屬性 值為 “o-transparent”。注意:label2控件應(yīng)置于label 1控件的底層。4)程序代碼如下:dim mousemove as booleandim i as integer'鼠標(biāo)移動(dòng)到標(biāo)簽上時(shí)標(biāo)簽為抬起狀態(tài)private sub label l_mousemove(index as integer, button as integer, shift as integer, x as single, y as single) mousemove = (0 <= x) and
24、(x < label 1 (index).width),設(shè)置鼠標(biāo)移動(dòng)狀態(tài)循環(huán)'當(dāng)狀態(tài)為true'當(dāng)索引值與i相同'設(shè)置邊框樣式為1'設(shè)置邊框樣式為0for i = 0 to 8if mousemove = true thenif index = i thenlabel 1 (i).borderstyle = 1elselabel 1 (i).borderstyle = 0end ifend ifnext iend subprivate sub label2_mousemove(button as integer, shift as integer, x a
25、s single, y as single) mousemove = (0 <= x) and (x < label2.width),設(shè)置鼠標(biāo)移動(dòng)狀態(tài)for i = 0 to 8 '循環(huán)if mousemove = true then,當(dāng)狀態(tài)為 truelabell(i).borderstyle = 0設(shè)置邊框樣式為 0end ifnext iend sub應(yīng)用二:label控件作為標(biāo)題的應(yīng)用label控件通常用于通知用戶(hù)一些在窗體上可見(jiàn)控件的意義,即作為標(biāo)題使用。label控件作為標(biāo)題,可以有很多效 果。常見(jiàn)是它的默認(rèn)效果,透明或者不透明,還有陰影效果、圖形效果的標(biāo)題等。
26、各種效果如圖12所示。圖12 label控件作為標(biāo)題的應(yīng)用具體設(shè)計(jì)方法如下:效果1:普通效果的標(biāo)題是label控件的默認(rèn)效果,它可以透明,也可以不透明,主耍取決于窗體或容器的背景色。 如杲窗體或容器的背景色與label控件的背景色一致,那么可以不透明,否則,必須設(shè)置透明,這樣才不會(huì)影響程 序界面的效果。另外,如果幾個(gè)label控件在一列或一行上,為了使界面整齊,可以設(shè)置label控件左對(duì)齊或右對(duì)齊;頂端對(duì)齊或 底端對(duì)齊。完成此設(shè)置可以使用“格式”菜單中的“對(duì)齊”命令。例如,在添加科室信息窗體中將“科室編號(hào)”等 label控件設(shè)置為左對(duì)齊,結(jié)果如圖13所示。圖13設(shè)置label控件左對(duì)齊效果2:
27、陰彫效果的標(biāo)題。陰彫效果的標(biāo)題由兩個(gè)或三個(gè)label控件透明后錯(cuò)位疊加而成。其屮作為陰影的文字, 最好使用深色。調(diào)整這兒個(gè)控件的位置可以使用快捷鍵:說(shuō)明:ctrl+ f )向上微移控件;ctrl+ i )向下微移控件;grl+向左微移控件;ctil+-*向右微移控件效果3:圖形效果的標(biāo)題。圖形效果的標(biāo)題使用了三個(gè)label控件。將最底下的兩個(gè)label控件一個(gè)設(shè)置為紫色, 一個(gè)設(shè)置為黑色,黑色置于底層,以達(dá)到陰影效果,caption屬性為空。在這兩個(gè)label控件的最上面放置另外一 個(gè)label控件,設(shè)置標(biāo)題文字、設(shè)置透明效果。應(yīng)用三:按鈕導(dǎo)航菜單實(shí)例說(shuō)明在某些管理軟件中,菜單不僅實(shí)現(xiàn)了調(diào)用程
28、序執(zhí)行任務(wù)的功能,并能給出相應(yīng)功能按鈕的流程圖式菜單,非常直觀。 本實(shí)例就要實(shí)現(xiàn)這種菜單,效果如圖14所示。圖14按鈕導(dǎo)航菜單思路與技術(shù)本實(shí)例主要使用picture控件和label控件來(lái)制作按鈕導(dǎo)航菜單。通過(guò)在label控件的mousemove事件過(guò)程中編寫(xiě)代碼來(lái)確泄picture控件(按鈕)的位置,從而實(shí)現(xiàn)按鈕變換的效 果。下面介紹mousemove事件。當(dāng)鼠標(biāo)指針處于窗體和控件的邊框內(nèi)時(shí)發(fā)生mousemove事件。£語(yǔ)法:private sub object_mousemove(index as integer, button as integer, shift as integ
29、er, x as single, y as single) 參數(shù)說(shuō)明:object對(duì)象表達(dá)式,其值是“應(yīng)用于”列表屮的一個(gè)對(duì)象。index 整數(shù),用來(lái)惟一地標(biāo)識(shí)一個(gè)在控件數(shù)組中的控件。button 整數(shù),它與鼠標(biāo)各個(gè)按鍵的狀態(tài)相對(duì)應(yīng),如果某個(gè)按鍵被按下,其中就有一個(gè)二進(jìn)制位被設(shè)置。 bimon參數(shù)是具有相應(yīng)于左按鍵(位0),右按鍵(位1),以及中間按鍵(位2)的一個(gè)位字段。這些位的值分別等 于1、2和4。它表示這些鼠標(biāo)按鍵的整體狀態(tài),3個(gè)二進(jìn)制位中的一些、全部或一個(gè)也沒(méi)有被設(shè)置表示這些按鍵中 的一些、全部或一個(gè)也沒(méi)有被按下。shift 一個(gè)整數(shù),該整數(shù)與shift、ctrl和alt鍵的狀態(tài)相對(duì)
30、應(yīng)。某鍵被按下使得一個(gè)二進(jìn)制位被設(shè)置。shift 參數(shù)是具有相應(yīng)于shif(鍵(位0)、c訶鍵(位1)以及alt鍵(位2)最少二進(jìn)制位的一個(gè)位字段。這些位的值分 別等于1、2和4。shift參數(shù)指示這些鍵的狀態(tài)。這些位屮可能有一些、全部或者一個(gè)也沒(méi)有被設(shè)置,指示這些鍵 中的一些、全部或者一個(gè)也沒(méi)有被按下。例如,ctrl和alt鍵都被按下,則shift的值就是6。x, y一個(gè)指定鼠標(biāo)指針當(dāng)前位置的數(shù)。x和y的值表示的總是通過(guò)該對(duì)象scaleheight, scalewidth, scaleleft和scaletop屬性所建立的坐標(biāo)系統(tǒng)的方式。開(kāi)發(fā)步驟(1)新建一個(gè)標(biāo)準(zhǔn)工程,創(chuàng)建一個(gè)新窗體,默認(rèn)的
31、“名稱(chēng)”屬性為formic(2)在form 1窗體上添加一個(gè)label 1控件a數(shù)組(labell(o)labell(8)和一個(gè)picture控件設(shè)置label i控件數(shù)組的 forecolor 屬性為 “&h00c00000&”。(3)在picture 1控件中添加一個(gè)label控件,設(shè)置其“名稱(chēng)”屬性為lbll, forecolor屬性為“&h000000c0&”forml窗體中控件部分屬性設(shè)置如表5所示。 表5forml窗體中控件部分屬性設(shè)置控件名屬性值commondialognamecommondialog 1labelnamecaptionlabel
32、1 (0)日常業(yè)務(wù)管理labelnamecaptionlabel 1(1) 庫(kù)存藥品管理labelnamecaptionlabel 1(2) 藥品查詢(xún)統(tǒng)計(jì)labelnamecaptionlabel 1 (3)基本資料管理labelnamecaptionlabel 1 (4)系統(tǒng)管理labelnamecaptionlabel 1(5) 輔助工具labelnamecaptio nlabel 1 (6) 幫助labelnamecaptionlabel 1(7) 關(guān)于labelnamecaptionlabel 1 退出labelnamecaptionlabel2(0)計(jì)算器labelnamecapti
33、onlabel2(l) 記事本labelnamecaptionlabel2(2) 密碼修改labelnamecaptionlabel2(3) 重新登錄labelnamecaptionlabel2(4) 在線幫助labelnamecaptionlabel2(5) 退岀labelnamecaptionlabel2(6) 計(jì)算器labelnamecaptionlbll日常業(yè)務(wù)管理labelnamelbl2pictuteboxnamepicture 1pictuteboxnamepicture2pictuteboxnamepicture3statusbarnamestatusbar 1(4)菜單編輯器
34、相關(guān)內(nèi)容如圖5所示:標(biāo)題名稱(chēng)快捷鍵【日常業(yè)務(wù)管理】rcyw藥品入庫(kù)mlcrtl+r藥品銷(xiāo)售m2crtl+x11銷(xiāo)售退貨m3crtl+a入庫(kù)退貨m4crtl+b【庫(kù)存藥品管理】kcgl庫(kù)存查詢(xún)(c)crtm庫(kù)存盤(pán)點(diǎn)(p)crtl+p價(jià)格管理(g)crthg【藥品查詢(xún)統(tǒng)計(jì)】kcgl入庫(kù)查詢(xún)crtl+fl 入庫(kù)退貨查詢(xún)12銷(xiāo)售杳詢(xún)mlocrtl+f2銷(xiāo)售退貨查詢(xún)mil【基本資料管理】jbzlgl藥品資料管理ml 213.供應(yīng)商管理(y)ml 3crtl+y標(biāo)題名稱(chēng)快捷鍵.客戶(hù)管理(k)ml 4ch1+k 14.人員管理ml 5.本單位管理ml 6【系統(tǒng)管理】xtglfl操作權(quán)限ml 7數(shù)據(jù)備份與恢復(fù)
35、ml 8.數(shù)據(jù)初始化ml 9f2.系統(tǒng)日志m20【輔助工具】fzgj.計(jì)算器m21記事本m22通訊錄m23.銀行賬號(hào)m24【幫助】bz.幫助m25fll 15.關(guān)于m26f12【退出】exit圖15菜單編輯器內(nèi)容(5)為frm_main窗體添加女口下代碼。dim mytag as stringpublic pictag as integer'啟動(dòng)窗體并進(jìn)行初始化private sub form_load()picture3.height = 5250: picture3.width = 8040picture3.left = 3060: picture3.top = 2025end s
36、ubprivate sub form_resize()'不允許用戶(hù)調(diào)整窗體的大小on error resume nextme.height = 8505me.width = 12030end sub'鼠標(biāo)移動(dòng)產(chǎn)生不同的效果private sub label l_mousemove(index as integer, button as integer, shift as integer, x as single, y as single) '當(dāng)鼠標(biāo)移到左側(cè)圖形菜單上時(shí),將picture 1移到該菜單上以產(chǎn)生不同的菜單效果picture 1.left = 240pictu
37、re2.top = -2000select case indexcase 0picture 1.top = 1560case 1picturel.top = 2040case 2picture 1 .top = 2550case 3picture 1.top = 3030case 4picture 1.top = 3525case 5picture 1.top = 4020case 6picture 1 .top = 4515case 7picturel.top = 5()l()case 8picturel.top = 5525end selectlbll.caption = label 1
38、(index).captionend subprivate sub label2_click(index as integer)'單擊頂層圖形菜單if index = 6 thenselect case label2(6).captioncase "計(jì)算器”case "記事本”case “密碼修改”case “重新登錄”case “在線幫助”case "退出”unload meend selectend ifend subprivate sub label2_mousemove(lndex as integer, button as integer, sh
39、ift as integer, x as single, y as single) '當(dāng)鼠標(biāo)移到頂層圖形菜單上時(shí),將picture2移到該菜單上以產(chǎn)生不同的菜單效果picture2.top = 1500picture 1.top = -2000lbl2.visible = falseselect case index劌斷控件索引case 0picture2.left = 2910case 1picture2.left = 4455case 2picture2.left = 5940case 3picture2.left = 7455case 4picture2.left = 8940c
40、ase 5picture2.left = 10530end selectlabel2(6).caption = label2(index).captionend subprivate sub form_queryunload(cancel as integer, unloadmode as integer)dim msg as string '聲明變量。'如果正在退出應(yīng)用。msgi是否退出k” & me.caption &t應(yīng)用程序? ”1如果用戶(hù)單擊no按鈕,則停止query unload oif msgbox(msg, vbquestion + vbyesn
41、o, me.caption) = vbno then cancel = trueend subprivate sub lbll_click()'單擊左側(cè)圖形菜單select case lbl 1 .captioncase “日常業(yè)務(wù)管理”picture3.picture = loadpicture(app.path & "imagel.jpg")pictag = 1case ”庫(kù)存藥品管理”picture3.picture = loadpicture(app.path & "image2.jpg")pictag = 2case ”
42、藥品査詢(xún)統(tǒng)計(jì)”picture3.picture = loadpicture(app.path & "image3.jpg")pictag = 3case ”基本資料管理”picture3.picture = loadpicture(app.path & "image4.jpg")pictag = 4case ”系統(tǒng)管理”picture3.picture = loadpicture(app.path & himage5.jpg")pictag = 5case “輔助工具”picture3.picture = loadpic
43、ture(app.path & "image6.jpg")pictag = 6case "幫助”case “關(guān)于”case “退出”unload meend selectend subprivate sub picture3_mousemove(button as integer, shift as integer, x as single, y as single)ibl2.visible = falseselect case pictagcase 1'藥品入庫(kù)if x > 990 and x< 2100 thenlbl2.move
44、900, 2070 ,移動(dòng)標(biāo)簽位置lbl2.visible = true顯示標(biāo)簽mytag = “ml"end if'藥品銷(xiāo)售ifx> 5700 and x < 6700 then lbl2.move 5580, 2085 lbl2.visible = true mytag = “m2"end if'銷(xiāo)售退貨lfx> 3330 and x < 4500 thenify >30 and y < 920 then lbl2.move 3270, 75 lb!2.visible = true mytag = mm3"e
45、nd ifend if'入庫(kù)退貨ifx> 3330 and x < 4500 then ify > 4200 and y < 5200 thenlbl2.move 3240, 4200 lbl2.visible = true mytag = mm4"end ifend ifcase 2ifx> 3330 and x < 4500 thenify >30 and y < 920 then lbi2.move 3270, 75 lbl2.visible = true mytag = nm5"end ifend ififx&
46、gt; 990 and x< 2100 then lbl2.move 900, 2070 lbl2.visible = true mytag = ”m6"end ififx> 5700 and x < 6700 then lbl2.move 5580, 2085 lbl2.visible = true mytag = ” m7"end ifcase 3ifx> 1900 and x< 3380 then lb!2.move 1965, 1140 lbl2.visible = true mytag = "m8"end ifif
47、x> 4350 and x < 5700 then lbl2.move 4320, 1140 lbl2.visible = true mytag = "m9uend ififx> 1900 and x < 3380 then ify > 2880 and y < 3980 then lbl2.move 1920, 3045 lb!2.visible = true mytag = mmlo"end ifend ififx> 4350 and x < 5550 then ify > 2880 and y < 3980
48、then lbl2.move 4320, 3045 lbl2.visible = true mytag = "mil"end ifend ifcase 4ifx> 2300 and x < 3400 then ify > 105() and y < 2000 thenlbl2.move2115, 1140 lb!2.visible = truemytag = mml2hend ifend ififx> 4500 and x < 5700 then ify > 1050 and y < 2000 then lbl2.move 4
49、380, 1170 lbl2.visible = true mytag = "ml3hend ifend ififx> 1110andx<2100 then lbl2.move 1110, 3060 lbl2.visible = true mytag = hml4mend ififx> 3500 and x < 4400 then ify > 3000 and y < 4000 then lbl2.move 3315,3045 lbl2.visible = true mytag = mml5hend ifend ififx> 5500 and
50、 x < 6800 then lbl2.move 5565, 3060 lbl2.visible = truemytag = mml6nend ifcase 5ifx> 1900 and x < 3380 then lbl2.move 1965, 1140 lbl2.visible = true mytag = "ml7"end ififx> 4350 and x < 5700 then lbl2.move 4320, 1140 lbl2.visible = true mytag = "ml 8mend ififx> 1900
51、and x < 3380 thenif y> 2880 andy <3980 then lbl2.move 1920, 3045 lbl2.visible = true mytag = mml9"end ifend ififx> 4350 and x < 5550 thenify > 2880 and y < 3980 then lbl2.move 4320, 3045 lb!2.visible = true mytag = mm20"end ifend ifcase 6ifx> 1900 and x < 3380 th
52、en lbl2.move 1965, 1140 lbl2.visible = true mytag = “m21”end ififx> 4350 and x < 5700 then lbl2.move 4320, 1140 lbl2.visible = true mytag = ”m22”end ififx> 1900 and x < 3380 then ify >2880 andy <3980 then lbl2.move 1920, 3045 lbl2.visible = true mytag = mm23"end ifend ififx>
53、; 4350 and x < 5550 thenify > 2880 and y < 3980 then lbl2.move 4320, 3045 lb!2.visible = truemytag = mm24"end ifend ifend selectend sub應(yīng)用四:利用label控件模擬按鈕動(dòng)作實(shí)例說(shuō)明label控件是用來(lái)顯示文木的控件,通常用來(lái)標(biāo)注和顯示提示信息。本實(shí)例巧妙地應(yīng)用label控件實(shí)現(xiàn)了模擬按鈕圖16利用label控件模擬按鈕動(dòng)作思路與技術(shù)主要利用label控件的mousemove爭(zhēng)件和image控件的mousemove事件來(lái)實(shí)現(xiàn)本實(shí)例。當(dāng)
54、鼠標(biāo)移動(dòng)到label控件 上時(shí),設(shè)置label控件為有邊框形式,當(dāng)鼠標(biāo)離開(kāi)label控件移動(dòng)到image控件上時(shí),設(shè)置label控件為無(wú)邊框形 式。下面介紹一下mousemove事件的用法。mousemove事件在移動(dòng)鼠標(biāo)時(shí)發(fā)生。其語(yǔ)法形式如下:private sub object_mousemove(index as integer, button as integer, shift as integer, x as single, y as single) 參數(shù)說(shuō)明:object一個(gè)對(duì)象表達(dá)式。index 一個(gè)整數(shù),用來(lái)惟一地標(biāo)識(shí)一個(gè)在控件數(shù)組中的控件。button一個(gè)整數(shù),它對(duì)應(yīng)鼠標(biāo)各個(gè)
55、按鈕的狀態(tài),如果某個(gè)按鈕被按下,其中就有一個(gè)二進(jìn)制位被設(shè)置。button參數(shù)是具有相應(yīng)于左按鈕(位0)、右按鈕(位1)以及屮i'可按鈕(位2)的一個(gè)位字段,這些位的值分別等 于1、2和4。它指示這些鼠標(biāo)按鈕的整體狀態(tài),三個(gè)二進(jìn)制位中的一些、全部或一個(gè)也沒(méi)有被設(shè)置,指示這些按 鈕中的一些、全部或一個(gè)也沒(méi)有被按下。shift一個(gè)整數(shù),該整數(shù)相應(yīng)于shift、ctrl和alt鍵的狀態(tài),某鍵被按下使得一個(gè)二進(jìn)制位被設(shè)置。shift參數(shù)是具有相應(yīng)于shift鍵(位0)、ctrl鍵(位1)以及alt鍵(位2)最少二進(jìn)制位的一個(gè)位字段,這 些位的值分別等于1、2和4。shift參數(shù)指示這些鍵的狀態(tài),
56、這些位屮可能有一些、全部或者一個(gè)也沒(méi)有被設(shè)置, 指示這些鍵中的一些、全部或者一個(gè)也沒(méi)有被按下。例如,ctrl和alt鍵都被按下,則shift的值就是6。x, y一個(gè)指定鼠標(biāo)指針當(dāng)前位置的數(shù)。x和y的值所表示的總是通過(guò)該對(duì)象scaleheight, scalewidth,scaleleft和scaletop屬性所建立的坐標(biāo)系統(tǒng)的方式。窈!注意:為了對(duì)鼠標(biāo)按鈕按下和釋放所引起的事件進(jìn)行處理,可以使用mousedown和mouseup事件過(guò)程。開(kāi)發(fā)步驟(1)新建一個(gè)標(biāo)準(zhǔn)工程,創(chuàng)建一個(gè)新窗體,默認(rèn)的“名稱(chēng)”屬性為fonnu(2)在foirnl窗體上添加一個(gè)image控件并設(shè)置其picture屬性i(3) 在image控件上添加一個(gè)imagelist控件爲(wèi)和一個(gè)listview控件農(nóng)°。這兩個(gè)控件都屬于activex控件,在使用前應(yīng)先將其添加到工具箱屮,具體添加方法如下: 選擇vb菜單的“工程”一“部件”,然后選取microsoft windows common control 6.0 (sp6),單擊“確
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年五年級(jí)班主任工作總結(jié)下模版(三篇)
- 2025年二手房中介購(gòu)房合同標(biāo)準(zhǔn)版本(三篇)
- 2025年中外來(lái)料加工或來(lái)件裝配合同樣本(三篇)
- 住宅小區(qū)石材裝修合同模板
- 2025年度安全風(fēng)險(xiǎn)評(píng)估與費(fèi)用預(yù)算合同
- 民航器材物流承攬合同模板
- 貴州球場(chǎng)塑膠跑道施工方案
- 保險(xiǎn)公司單項(xiàng)裝修合同
- 寵物醫(yī)院裝飾協(xié)議
- 藝術(shù)顧問(wèn)提成方案
- 國(guó)開(kāi)行政管理論文行政組織的變革及其現(xiàn)實(shí)性研究
- 運(yùn)動(dòng)技能學(xué)習(xí)中的追加反饋
- 高中體育與健康-足球-腳內(nèi)側(cè)傳球射門(mén)技術(shù)(第二課時(shí))教學(xué)課件設(shè)計(jì)
- 《淄博張店區(qū)停車(chē)問(wèn)題治理現(xiàn)狀及優(yōu)化對(duì)策分析【開(kāi)題報(bào)告+正文】15000字 》
- 常用電子元器件基礎(chǔ)知識(shí)演示
- GB/T 32918.4-2016信息安全技術(shù)SM2橢圓曲線公鑰密碼算法第4部分:公鑰加密算法
- 2023年藥事法規(guī)教學(xué)案例庫(kù)及案例分析
- 北京市水務(wù)安全生產(chǎn)風(fēng)險(xiǎn)評(píng)估指南
- 吸引器教學(xué)講解課件
- 醫(yī)學(xué)心理學(xué)人衛(wèi)八版66張課件
- 仿古建筑施工常見(jiàn)質(zhì)量通病及防治措施
評(píng)論
0/150
提交評(píng)論