C脚本 拖动控件位置

 调用Wincc WebBrower control 这个控件,在运行时怎样实现用鼠标随意拖动位置,和改变其大小

问题补充:
如图中一样,这个控件无法移动和改变大小,怎样实现这两个功能呢

图片说明:

C脚本 拖动控件位置   

最佳答案

给你一个移动对象的项目函数。
该函数先将对象移动到画面之外,比如,画面宽度为1000,移到2000位置,再移动到拖动的目标位置。
对象事先放在画面窗口中,其实是移动对象所在画面窗口的位置。

在对象的鼠标按下事件中:
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
  SetTagDWord("Wnd_Login_X",x);
  SetTagDWord("Wnd_Login_Y",y);
}

其中:Wnd_X,Wnd_Y是两个内部变量。

在对象的鼠标松开事件中:
#include "apdefap.h"
void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
int mx=GetTagDWord("Wnd_X");
int my=GetTagDWord("Wnd_Y");

  MovePictureWindow(lpszPictureName,GetParentPictureWindow(lpszPictureName),my,my,x,y);
}

项目函数:
void MovePictureWindow(char* lpszPictureName, char* ParentName , int OldX, int OldY, int NewX, int NewY)
{
int px,py;
int dx,dy;
int nGesamt,nTeil;
char picture[255];

  strcpy(picture,lpszPictureName);

  nGesamt=strlen(lpszPictureName);
  nTeil=strlen(strrchr(picture,''''.''''));

  strcpy(picture,"");
  strncat(picture,lpszPictureName,(nGesamt-nTeil));

  px=GetLeft(picture,ParentName);
  py=GetTop(picture,ParentName);

  dx=OldX-px;
  dy=OldY-py;

  SetLeft(picture,ParentName,2000);
  SetTop(picture,ParentName,NewY-dy);
  SetLeft(picture,ParentName,NewX-dx);
}

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc360355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午11:26
下一篇 2021年7月5日 上午11:26

相关推荐

  • VMware虚拟机中PCS7如何与现场设备通讯

    我的软件是装在虚拟机里的,想请问一下用虚拟机可以走DP通讯连接到现场设备吗?我wincc组态界面也是在虚拟机里,可以实现与现场设备的交互吗?由于以前一直没用过虚拟机,而且刚接触pc…

    SIMATIC WinCC 2021年7月5日
  • WinCC 库函数

    请教各位专家:我的WinCC7.3SE安装时没有出现任何问题,很顺利的安装完成,也打完SP14的补丁。但是在使用时发现有个库函数没有“SSMLoadAlarmControlConf…

    2021年7月5日
  • wincc通讯多通道的设置

    各位大侠:小生现在有个问题请教一下大家。在wincc的通讯驱动程序中,可以同时用TCP/IP和PROFIBUS两种协议对2台以上PLC进行连接吗,如果可以,该怎么设置? 最佳答案 …

    SIMATIC WinCC 2017年8月26日
  • wincc如何整点启动归档?

    如何整点启动归档? 最佳答案 在"Global Script"下的Project functions编写函数cyclicarchive&nb…

    SIMATIC WinCC 2019年6月11日
  • WINCC自定义安装as-os engineering安装出错

    为了让WINCC直接访问STEP7变量,在安装WINCC时要安装as-os engineering组件。我安装软件如下: WINDOWS XP&nbs…

    SIMATIC WinCC 2019年6月11日
  • 请问WINCC在哪里有得下载

    在官方网站找不到这个软件 最佳答案 参见以下链接——http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_ID=54…

    SIMATIC WinCC 2019年6月11日
  • Wincc中的开关量点

    在Wincc中如何将开关量点的趋势也做出来呢,谢谢 问题补充:怎么归档呢,你们说的方法我可以试一下,大家可以说的具体点的,从建一个开关量开始到趋势的做法,或者说是已经有了的开关量怎…

    SIMATIC WinCC 2019年6月11日
  • TP270-10触屏怎么改写后在上传

    触屏TP270-10  备份出来的文件是PSD的格式   用什么软件改写  WINCC2008只读HMI格式的…

    SIMATIC WinCC 2017年12月1日
  • 跪求wincc flexible 2008 SP4 下载链接

    官网链接已经失效了,百度上找了好几个下载过来都是SP2的,老电脑上有SP4但是没有安装包,复制过来也无法运行,哪位好心人能给个下载链接?——本人系统 win7 …

    2020年11月1日
  • wincc版本打开问题

    项目是用wincc6.0做的,但是现在没有wincc6.0了,只有以前wincc6.0的备份,现在有wincc6.2,直接打开wincc6.0的项目,项目以前的监控界面会出现很多问…

    2021年7月5日

发表回复

登录后才能评论