技术论坛

wincc中鼠标点击按钮后如何设定弹窗位置

作者 主题
游民

经验值: 51
发帖数: 1
精华帖: 0
主题:【求助】wincc中鼠标点击按钮后如何设定弹窗位置


只看楼主 楼主 2021-07-28 16:24:39

求助:使用画面模板想点击按钮 弹出窗口在指定位置怎么做? 


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1707227&b_id=5&s_id=0&num=5

侠圣

经验值: 3818
发帖数: 834
精华帖: 3
回复:wincc中鼠标点击按钮后如何设定弹窗位置


只看楼主 1楼 2021-07-28 16:47:01

WINCC弹窗不是需要先在主页面上设置窗口画面么,你设定好窗口画面位置,弹出的画面调用窗口画面不就可以了定位了?

不知道你说的是不是这个意思


路漫漫其修远兮,吾将上下而求索!!!
以下网友喜欢您的帖子:

  
侠圣

经验值: 3816
发帖数: 730
精华帖: 3
回复:wincc中鼠标点击按钮后如何设定弹窗位置


只看楼主 2楼 2021-07-28 17:18:45

msgbox脚本调出的脚本没办法设置位置,如果是用画面窗口调用的改位置就可以了。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8540
发帖数: 939
精华帖: 15
回复:wincc中鼠标点击按钮后如何设定弹窗位置


只看楼主 3楼 2022-01-09 15:56:33

如果要动态的改变弹出窗口的位置,可以使用脚本设置弹出窗口的Left属性和Top竖向,left相当于横向位置,top显示的纵向位置,可以通过鼠标左键事件获取鼠标的位置x,y,再加一定的偏移量就可以根据鼠标点击的位置动态的设定窗口的显示位置。

下面是一个弹出窗口的程序,Window1为弹出窗口

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)                 


'*************弹出画面控制*********************

'先隐藏窗口

'为画面分配名称

'为窗口分配标题

'为窗口分配名称

'分配变量前缀

'计算窗口位置,如果窗口

'Dim Except_Obj1

'Dim Except_Obj2

'Set Except_Obj1 = HMIRuntime.Screens("Graphcs").Items("")

Dim Win

Set Win = ScreenItems("Window1")

Win.Visible = vbFalse

Win.PictureName = "Motor11"

Win.CaptionText = "1#送水泵"

Win.TagPrefix = ""

Win.Visible = vbTrue

Win.Left = x - Win.Width/2

Win.Top = y - Win.Height - 20 

If Win.Left < 0 Then Win.Left =10

If Win.Top < 0 Then Win.Top = 10

If (Win.Left + Win.Width) > Win.Parent.Width Then Win.Left = Win.Parent.Width -  Win.Width - 10

If (Win.Top + Win.Height) > Win.Parent.Height  Then Win.Top = Win.Parent.Height - Win.Height - 10

End Sub



 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8540
发帖数: 939
精华帖: 15
回复:wincc中鼠标点击按钮后如何设定弹窗位置


只看楼主 4楼 2022-01-09 16:11:24

C脚本:

#include "apdefap.h"

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{

#pragma option(mbcs)

// WINCC:TAGNAME_SECTION_START

// syntax: #define TagNameInAction "DMTagName"

// next TagID : 1

// WINCC:TAGNAME_SECTION_END


// WINCC:PICNAME_SECTION_START

// syntax: #define PicNameInAction "PictureName"

// next PicID : 1

// WINCC:PICNAME_SECTION_END

SetVisible(lpszPictureName,"EV1",FALSE);

SetTagPrefix(lpszPictureName,"EV1","UV202A_");

SetPropChar(lpszPictureName,"EV1","CaptionText","UV202A");

SetLeft(lpszPictureName,"EV1",410); //Return-Type: BOOL 

SetTop(lpszPictureName,"EV1",0); //Return-Type: BOOL

SetVisible(lpszPictureName,"EV1",TRUE);

SetPropChar("Valve01","TEXT1","Text","烟气放散阀UV202A"); //Return-Type: BOOL 

}



 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8540
发帖数: 939
精华帖: 15
回复:wincc中鼠标点击按钮后如何设定弹窗位置


只看楼主 5楼 2022-01-10 15:13:47

也可以给弹出窗口的Left和Top属性添加变量,通过设定变量值来改变弹出窗口位置。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
wincc中鼠标点击按钮后如何设定弹窗位置
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。