測(cè)評(píng)|在InTouch中實(shí)現(xiàn)操作提示框功能
[點(diǎn)評(píng)]:InTouch軟件雖然沒(méi)有像iFIX軟件一樣嵌入VBA,因而在許多的功能實(shí)現(xiàn)上不如iFIX軟件靈活。但正因?yàn)槿绱?,InTouch軟件相對(duì)于iFIX軟件節(jié)省了不少安裝空間和運(yùn)行資源。為了增強(qiáng)InTouch軟件的功能,Wonderware公司提供了一些附加的函數(shù)。下面是使用這些函數(shù)來(lái)實(shí)現(xiàn)操作提示框功能的案例。 概要介紹 目前在 InTouch的畫(huà)面制作中,有很多用戶提出實(shí)現(xiàn)操作提示框的功能,而此功能在InTouch的標(biāo)準(zhǔn)版本中很難實(shí)現(xiàn)。Wonderware公司除了在InTouch的CD中提供的標(biāo)準(zhǔn)函數(shù)之外,還在多年的實(shí)踐中增加了不少功能的函數(shù),這些函數(shù)在Wonderware公司提供的KBCD中可以找到。本文正是利用KBCD提供的一些函數(shù)來(lái)實(shí)現(xiàn)InTouch的操作提示框功能。 函數(shù)介紹 首先將實(shí)現(xiàn)操作提示框功能需要的有關(guān)函數(shù)介紹如下, 1 WWContext 函數(shù)或 WWCntx32 函數(shù) 調(diào)用方法: result = WWContext( Window, Left, Top, Width, Height, NameOfTag, Message ); result = WWCntx32(Window,Left,Top,Width,Height,NameOfTag,Message); 這兩個(gè)函數(shù)的功能和調(diào)用方法基本一樣,它們均定義了 InTouch 窗口中以 (Left,Top) 坐標(biāo)點(diǎn)為左上角,寬度為 Width , 高度為 Height 的矩形區(qū)域。當(dāng)鼠標(biāo)移動(dòng)至該區(qū)域內(nèi), InTouch 將會(huì)自動(dòng)識(shí)別,并將 Message 的值賦給名為 NameOfTag 的消息型標(biāo)記。 在應(yīng)用時(shí),這兩個(gè)函數(shù)可以任選一個(gè)。 2 GetCursorPosition 函數(shù) 調(diào)用方法 GetCursorPosition("Xtag", "Ytag", UseDesktop); 該函數(shù)獲取鼠標(biāo)的位置,并將鼠標(biāo)位置返回給 ( Xtag, Ytag ) 。 因?yàn)槲覀円呀?jīng)有了 WWContext 函數(shù), InTouch 能夠自動(dòng)地捕捉鼠標(biāo)位置,開(kāi)發(fā)者已不需要用腳本來(lái)捕捉鼠標(biāo)位置。這里我們使用 GetCursorPosition 函數(shù)是為了控制提示框的顯示位置。 3 MoveWindow 函數(shù) 調(diào)用方法 MoveWindow( WindowName , Left , Top , Width , Height ); MoveWindow 函數(shù)將窗口名為 WindowName 的窗口的作上角移動(dòng)到 ( Left, Top ) 坐標(biāo),并將窗口大小改變?yōu)閷挾葹?Width ,高度為 Height 。 使用 MoveWindow 函數(shù)與 GetCursorPosition 函數(shù)結(jié)合可以控制提示框的顯示位置以及窗口大小。因?yàn)樘崾究虻膶挾仁歉鶕?jù)文字的寬度來(lái)決定的,所以需要用 MoveWindow 函數(shù)來(lái)同時(shí)改變提示框窗口的大小以及顯示位置。 具體實(shí)現(xiàn)方法 規(guī)劃好需要顯示提示框的操作區(qū)域,用 WWContext 或 WWCntx32 定義每一個(gè)這樣的區(qū)域。注意,對(duì)每一個(gè)區(qū)域都要定義一次,該定義可以在應(yīng)用腳本或是主窗口腳本中執(zhí)行。例如,窗口 Main 有 Button1 和 Button2 兩個(gè)按鈕,它們所在的矩形區(qū)域用 ( Left,Top,Width,Height) 坐標(biāo)來(lái)表示分別為 ( Left_Butn1, Top_Butn1, Width_Butn1, Height_Butn1) 和 ( Left_Butn2,Top_Butn2,Width_Butn2,Height_Butn2) 。在應(yīng)用程序腳本,條件類型“運(yùn)行時(shí)”,執(zhí)行以下腳本: WWContext(“Main”,Left_Butn1,Top_Butn1,Width_Butn1,Height_Butn1,TipString,”Button1”); WWContext(“Main”,Left_Butn2,Top_Butn2,Width_Butn2,Height_Butn2,TipString,”Button2”); 創(chuàng)建提示框窗口 TipWindow ,該窗口僅顯示字符串 TipString 。該窗口風(fēng)格可按照通用的提示框窗口,以黃色為背景色,框式樣選擇‘單一‘。窗口寬度取你需要顯示的最長(zhǎng)一條提示字符串的寬度或更寬一點(diǎn),高度取單個(gè)字符的高度,依你設(shè)計(jì)的字體而定。 為了在合適的位置來(lái)顯示提示框窗口,創(chuàng)建標(biāo)記 TipString 的數(shù)據(jù)改變腳本如下: GetCursorPosition(“X_Tag”,”Y_Tag”,1); MoveWindow(“TipWindow”,X_Tag,Y_Tag,x*StringLen(TipString),HeightOfTipWindow); 其中 x 之值為你所選定字體的單個(gè)字符寬度所占像素的個(gè)數(shù)。 這只是實(shí)現(xiàn)操作提示框的一種方式。你可以利用這些函數(shù)以及其他一些函數(shù),根據(jù)具體的用戶要求來(lái)按照用戶所需要的方式進(jìn)行具體的實(shí)現(xiàn)。 如需關(guān)于INTOUCH 10.0 中文版和DAS Server的報(bào)價(jià)及其它更多信息,可咨詢北京遞杰科進(jìn),電話:010-51661962,李先生。 相關(guān)專題:
Wonderware INTOUCH 軟件專題
[點(diǎn)評(píng)]:InTouch軟件雖然沒(méi)有像iFIX軟件一樣嵌入VBA,因而在許多的功能實(shí)現(xiàn)上不如iFIX軟件靈活。但正因?yàn)槿绱?,InTouch軟件相對(duì)于iFIX軟件節(jié)省了不少安裝空間和運(yùn)行資源。目前在 InTouch的畫(huà)面制作中,有很多用戶提出實(shí)現(xiàn)操作提示框的功能,而此功能在InTouch的標(biāo)準(zhǔn)版本中很難實(shí)現(xiàn)。Wonderware公司除了在InTouch的CD中提供的標(biāo)準(zhǔn)函數(shù)之外,還在多年的實(shí)踐中增加了不少功能的函數(shù),這些函數(shù)在Wonderware公司提供的KBCD中可以找到。本文正是利用KBCD提供的一些函數(shù)來(lái)實(shí)現(xiàn)InTouch的操作提示框功能。
我要收藏
點(diǎn)個(gè)贊吧
轉(zhuǎn)發(fā)分享
評(píng)論排行