999久久久精品国产消防器材,国产成人久久综合77777,√最新版天堂资源网在线,精品久久久久区二区8888,卡一卡二卡三乱码视频

技成培訓(xùn)網(wǎng) 技成學(xué)習(xí)APP 技成工具箱 技成企業(yè)服務(wù)

歡迎回到技成培訓(xùn)網(wǎng)

技成培訓(xùn)網(wǎng)

電工題庫(kù)寶典

技成電工課堂

PLC練習(xí)題

技成PLC課堂

變頻器故障查詢

技成PLC學(xué)吧

伺服驅(qū)動(dòng)故障查詢

技成PLC網(wǎng)校

當(dāng)前位置:技成首頁(yè) > 文章中心 > 技成百科 > 彈出的對(duì)話框位置問(wèn)題

彈出的對(duì)話框位置問(wèn)題

劉玉蓉 發(fā)布于2014-10-13 17:38 2 0 標(biāo)簽:

使用WINCC庫(kù)中的閥門(mén)、電機(jī)等圖標(biāo),單擊他們彈出操作的對(duì)話框,現(xiàn)在的問(wèn)題是彈出的對(duì)話框是在鼠標(biāo)點(diǎn)擊的位置附近出來(lái),但是點(diǎn)擊監(jiān)控畫(huà)面邊緣的圖標(biāo)時(shí)發(fā)現(xiàn),彈出的對(duì)話框超出了畫(huà)面的邊緣,還得用鼠標(biāo)拖拽回來(lái),(因?yàn)槭歉脑祉?xiàng)目,原制作者在PLC中的地址不規(guī)律,無(wú)法用結(jié)構(gòu)變量,只能把閥門(mén)的操作對(duì)話框逐一制作出來(lái),我使用VB程序加畫(huà)面窗口做的,)程序如下:
Sub MouseDown(ByVal Item,  ByVal Button,  ByVal Shift,  ByVal x,  ByVal y) 
Dim PIC
Set PIC = ScreenItems("畫(huà)面窗口1")""""""""選擇畫(huà)面窗口
ScreenItems.Item("畫(huà)面窗口1").PICTURENAME="閥門(mén)號(hào)"
PIC.Visible = False
PIC.Left = item.Left+10
PIC.Top = item.Top
ScreenItems("畫(huà)面窗口1").Visible = True
End Sub
不知道怎么解決,請(qǐng)賜教!

問(wèn)題補(bǔ)充:
能不能來(lái)個(gè)VB的程序判斷離上下、左右的位置啊

佳答案

試試這個(gè)全局函數(shù)吧 希望對(duì)你有幫助
你只需修改DialogName參數(shù)

Sub ShowDialog(Byval DialogName,Byval x,Byval y) 
""""""""對(duì)話框顯示位置自動(dòng)調(diào)整函數(shù)函數(shù)
""""""""鼠標(biāo)事件按左鍵事件中調(diào)用
""""""""DialogName為要顯示對(duì)象的名稱  x,y為鼠標(biāo)點(diǎn)擊的位置(鼠標(biāo)左鍵事件中調(diào)用直接為X,Y)
""""""""例:Call ShowDialog("1號(hào)鼓風(fēng)機(jī)放空氣閥_Dialog",x,y) 
""""""""by:逐漸變暈
Dim PageWidth,PageHeight,DiaWidth,DiaHeight,PX,PY,Constval
Constval=30 """"""""調(diào)整顯示對(duì)話框距離鼠標(biāo)點(diǎn)擊點(diǎn)距離
PageWidth=HMIRuntime.Screens ("").Width 
PageHeight =HMIRuntime.Screens ("").Height
DiaWidth=ScreenItems(DialogName).Width
DiaHeight=ScreenItems(DialogName).Height
px=x+Constval
PY=y+Constval
If x+DiaWidth+Constval >=PageWidth  Then 
PX=x-Constval*2-DiaWidth
End If
If y+DiaHeight+Constval >=PageHeight Then 
PY=y-Constval*2-DiaHeight
End If
ScreenItems(DialogName).Left=PX
ScreenItems(DialogName).Top=PY
ScreenItems(DialogName).Visible = True

End Sub 

Sub  EndDialog(Byval DialogName)
Dim PageWidth
PageWidth=HMIRuntime.Screens ("").Width 
ScreenItems(DialogName).Left=ScreenItems(DialogName).Left+PageWidth
End Sub

若有收獲,就點(diǎn)個(gè)贊吧!

文章來(lái)源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)
分享到:

微信掃一掃分享

閱讀與本文標(biāo)簽相同的文章

相關(guān)推薦

最新文章 熱門(mén)文章
最新課程 免費(fèi)課程
PLC資料下載 電工電氣資料下載
應(yīng)用新秀
變頻器故障代碼查詢APP
伺服故障代碼查詢APP
技成
手機(jī)APP
熱門(mén)標(biāo)簽