c脚本修改画面窗口的变量前缀

合集下载

VC控件随窗口大小变化而变化的方法

VC控件随窗口大小变化而变化的方法

VC控件随窗口大小变化而变化的方法在VC中,控件随窗口大小变化而变化的方法有多种实现方式。

下面将介绍一种比较常用的方法。

方法一:使用控件的锚点属性3.根据需要,可以调整锚点的位置和大小。

4. 在对话框的OnSize函数中添加控件调整的代码。

示例代码如下:```void CMyDialog::OnSize(UINT nType, int cx, int cy)CDialogEx::OnSize(nType, cx, cy);//获取对话框的客户区大小CRect rect;GetClientRect(&rect);//调整控件的大小和位置m_btnOK.SetWindowPos(NULL, rect.right - 100, rect.bottom - 100, 0, 0, SWP_NOZORDER , SWP_NOSIZE);```在这个示例代码中,m_btnOK是一个按钮控件的变量。

调用SetWindowPos函数可以设置控件的位置和大小。

rect.right和rect.bottom分别表示对话框客户区的右边界和底边界的坐标。

在此示例中,按钮的右下角离对话框的右下角保持了100个像素的距离。

需要注意的是,OnSize函数中必须调用基类的OnSize函数,以确保窗口的基本布局正常。

总结:使用锚点属性和OnSize函数可以实现控件随窗口大小变化而变化。

通过设置锚点的位置和大小,再在OnSize函数中根据对话框的大小调整控件的大小和位置,可以适应不同窗口大小的需求。

这种方法是比较简单、快速实现的方式,特别适用于需要调整的控件数量较少的情况。

除了使用锚点属性和OnSize函数外,还可以使用其他方式实现控件随窗口大小变化,比如使用MoveWindow函数或者使用布局管理器等。

在实际开发中,需要根据具体情况选择合适的方法。

wincc应用结构变量做画面模板[详解]

wincc应用结构变量做画面模板[详解]

利用结构变量做画面模板减少做多个母画面的步骤。

以两个电机调用一个母画面实现启停控制为例
一,打开wincc新2个建结构变量为motor1和motor2,分别在每个结构变量下建立两个元素open和close。

这里是模拟所以用内部变量,在实际应用中这里是建立外部变量
二,然后到内部变量中建立一motor1和motor2为名称的变量。

三,新建两个画面
四,在HD画面中建立两个按钮,将画面的大小改成200X200.。

双击开启按钮鼠标事件按下鼠标左键时组态动画框将1传送给变量open。

按下鼠标右键时组态动画框将0传送给变量open。

双击关闭按钮鼠标事件按下左键时组态动画框将1传送给变量close。

按下鼠标右键时组态动画框将0传送给变量close。

(改变按钮的后缀)
五,打开main画面建立两个电机,和两个画面窗口,和四个输入输出域(用于模拟)
打开两个电机属性鼠标按下属性组态动画框
打开画面窗口一属性显示改成否,可关闭改成是,画面名称和变量前缀改成如下。

打开画面窗口二属性显示改成否,可关闭改成是,画面名称和变量前缀改成如下
六,打开输入输出与属性,在输出值里修改输出变量显示值。

保存即可。

WinCC的画面使用技巧

WinCC的画面使用技巧

WinCC的画⾯使⽤技巧以下内容以VB脚本为主,仅在VB脚本⽆法实现的功能中使⽤C脚本。

画⾯导航画⾯导航的作⽤是打开起始画⾯、前⼀张画⾯和后⼀张画⾯等,只能⽤C脚本实现。

打开起始画⾯: OpenHomePicture();打开前⼀张画⾯: OpenPrevPicture();打开后⼀张画⾯: OpenNextPicture();存储画⾯: StorePicture();打开存储画⾯: OpenStorePicture();切换画⾯窗⼝中的画⾯WinCC通过“画⾯窗⼝”控件将其他画⾯嵌套显⽰在另⼀个画⾯中,可以根据需要让“画⾯窗⼝”显⽰不同的画⾯。

“画⾯窗⼝”控件通过写⼊不同的画⾯名称调⽤不同的画⾯。

“画⾯窗⼝”控件有两个属性跟画⾯名称相关,分别是ScreenName和PictureName,这两个属性有什么区别呢?'画⾯名称不能带后缀名ScreenItems("Window1").ScreenName = "Newpicture"ScreenItems("Window1").PictureName = "Newpicture"通过ScreenName属性切换画⾯后,使⽤ OpenPrevPicture() 切换到上⼀个画⾯将会回到切换画⾯之前,⽽⽤PictureName属性切换画⾯,WinCC的画⾯导航中不会记录这次画⾯的切换,使⽤ OpenPrevPicture() 切换到上⼀个画⾯实际是回到了上上个画⾯。

通过⼀个实验更清楚的了解这个结论,⽤⼀个画⾯窗⼝引⽤三个画⾯,这三个画⾯分别标为A、B、C,⽤ScreenName和PictureName各做两个切换按钮。

(1)初始画⾯为A;(2)使⽤ScreenName切换到画⾯B;(3)使⽤ScreenName切换到画⾯C;(4)使⽤OpenPrePicture()返回前⼀个画⾯,此时返回到画⾯B,ScreenName属性切换的画⾯是有导航路径记录的;(5)使⽤PictureName切换到画⾯C;(6)使⽤OpenPrePicture()返回前⼀个画⾯,此时返回到画⾯A,PictureName属性切换的画⾯没有导航路径记录,事实上返回到了第4步的上⼀张画⾯,第4步是画⾯B,所以上⼀张画⾯是画⾯A。

WinCC技巧

WinCC技巧

在WinCC 中如何在一个画面中显示不同的趋势图?显示订货号描述在同一个WinCC 在线趋势控件中,通过不同的按钮来选择显示不同测量点的曲线,有两种方法。

•选择1: 用脚本分配变量•选择2: 画中画技术两种方法都是在"Trend_Function_Main.PDL", "Trend_Function_1.PDL" 和"Trend_Function_2.PDL" 画面中实现的。

这几个画面可以在例子中找到。

准备:变量"testvar1〞和"testvar2〞分别显示在两个在线控件Trend 1 和Trend 2 中。

No.步骤1 在变量记录中,新建过程值归档"TestArchive〞。

2 在归档中建立相应的变量归档〔testvar1 and testvar2〕。

Fig. 01选择1:WinCC V7.0 中脚本分配变量在本例中,WinCC 在线趋势控件的名称为"Control1〞。

另外,建立了两个趋势,但是并没有分配给*个变量。

分配由VBS 脚本或C 脚本完成。

VBS 和C 脚本在文件"M1_button_assign_tag.t*t〞中。

2 在画面中插入WinCC 在线趋势控件。

连接趋势到测量点〔WinCC V7.0〕的归档变量〔如testvar1〕。

在图片中插入一个应用程序窗口并且连接到测量点的趋势模板〔老板本〕。

3 然后相应的调整图像的几何属性和应用程序窗口。

本例中,高350像素,宽550像素。

这个大小是根据画面窗口的大小定的。

4 重复步骤3和4,为其他的测量点创立画面。

将应用程序窗口到每一个曲线模板上,然后用测量点的名字保存图像。

5 下一步创立一个新图片,可以用不同的按钮调用不同的趋势。

在这个画面中,为已经建好的画面插入一个宽〔550 pi*els〕高〔350 pi*els〕的画面窗口。

wincc声明数组变量及结构变量的使用

wincc声明数组变量及结构变量的使用

wincc声明数组变量及结构变量的使用
既然不能把struct的数组直接传送到wincc,那如何在wincc中声明数据变量呢,包含的变量很多,难道要一个个声明?求指导
另外wincc种的结构变量不是很明白,他是把一些变量归类到一起?具体怎么操作,自己新建了一个可是在画面组态的时候根本看不到结构变量。

希望能指导下。

最佳答案
先建立一个结构,里面包含多个元素,比如建立一个结构叫motor,里面包含man,res,open,close,然后建立变量名为motor1,数据类型为motor,则自动生成motor1.man,motor1.res,motor1.open,motor1.close。

这样方便建立变量,然后用画面窗口显示设备的控制画面,画面连接变量的“.”后面的部分,以及“.”。

然后画面窗口的变量前缀连接变量“.”前面的部分,不包括“.”这样方便控制多个相同的设备只要复制画面窗口,修改变量前缀就好了。

wincc画面模板

wincc画面模板

如何利用结构体变量以及C脚本、全局脚本来创建画面模板(实现多个同类设备只需一套操作窗口)1、建立结构体变量,如果窗口内变量少也可以不建,但是要注意同类设备变量后缀统一2、建立PID1/PID2两个结构体变量3、创建画面窗口,创建需要的对象,注意对象属性连接变量时只留后缀注意:由于只留后缀的变量不在变量表内,系统会提示是否创建变量,这里我们不要创建,点忽略就好4、在对应画面创建画面窗口,并将画面名称改为3中创建的画面名称5、做按钮的脚本5.1利用C函数脚本来切换画面窗口的标题、变量前缀按钮1,释放左键SetVisible("001_main.PDL","画面窗口1",0); //关闭窗口,更新SetPropChar(lpszPictureName,"画面窗口1","TagPrefix","pid1."); //设置变量前缀SetPropChar(lpszPictureName,"画面窗口1","CaptionText","PID1"); //设置窗口标题SetVisible("001_main.PDL","画面窗口1",1); //画面窗口1可见按钮2SetVisible("001_main.PDL","画面窗口1",0); //关闭窗口,更新SetPropChar(lpszPictureName,"画面窗口1","TagPrefix","pid2."); //设置变量前缀SetPropChar(lpszPictureName,"画面窗口1","CaptionText","PID2"); //设置窗口标题SetVisible("001_main.PDL","画面窗口1",1); //画面窗口1可见5.2 如果按钮脚本内需要改变的属性比较多,同类设备也比较多,则脚本需要改变的地方也多,此时可以通过项目函数将需要的C脚本打包成一个函数,需改变的变量引出此时按钮1内需要调整的点就少了。

VC++中修改MFC窗口标题

VC++中修改MFC窗口标题
if (!CDocument::OnNewDocument())
return FALSE;
SetTitle (" 文档标题 " );
return TRUE;
}
运行程序,则每次选择选单中的“文件”的“新建”选项时,文档标题就变成 “文档标题- SDITitle”。
5) 是在CMainFrame的PreCreateWindow函数中修改窗口风格:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style &= ~(LONG) FWS_ADDTOTITLE;
return CFrameWnd::PreCreateWindow(cs);
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style &=~ (LONG) FWS_ADDTOTITLE;
return CMDIChildWnd::PreCreateWindow(cs);
}
改变窗口类型,这步工作必须做。常量FWS_ADDTOTITLE是在文件\ msdev \ mfc \include \afxwin.h中定义。
VC++中修改MFC窗口标题
一·单文档接口(SDI)类型窗口标题的改变
首先,我们来看Windows SDI类型窗口标题栏的结构形式。结合具体例子说明:用VC的AppWizard创建一个名为“SDITitle”的单文档类型的工程,创建完工程后,编译运行该工程,程序主窗口标题形式如下:
文档标题 主窗口标题

C利用句柄操作窗口

C利用句柄操作窗口

C利用句柄操作窗口
在C语言中,可以使用句柄(handle)来操作窗口。

句柄是一个唯一标识符,用来表示窗口或其他资源的引用。

以下是一些常见的句柄操作窗口的函数:
1. GetActiveWindow(:获取当前活动窗口的句柄。

2. FindWindow(lpClassName, lpWindowName):根据类名和窗口名称查找窗口,并返回窗口句柄。

3. SendMessage(hWnd, Msg, wParam, lParam):向指定窗口发送消息。

4. MoveWindow(hWnd, x, y, width, height, repaint):移动指定窗口的位置和大小。

5. ShowWindow(hWnd, nCmdShow):显示或隐藏指定窗口。

以下是一个示例代码,演示如何使用句柄操作窗口:
```c
#include <windows.h>
int mai
HWND hwnd = FindWindow(NULL, "窗口标题"); // 查找窗口句柄
if (hwnd == NULL)
printf("未找到窗口\n");
return 1;
}
//移动窗口的位置和大小
MoveWindow(hwnd, 100, 100, 500, 300, TRUE);
//发送消息给窗口
SendMessage(hwnd, WM_CLOSE, 0, 0);
return 0;
```
注意,上述示例代码是在Windows平台下使用的。

如果你是在其他操作系统下使用C语言,可能需要使用对应的窗口操作函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c脚本修改画面窗口的变量前缀
现场有六台带变频器的水泵,想用一个画面通过按钮切换来显示不同变频器的参数,画面上添加一个画面窗口a,画面窗口连接上一个公用画面,再在画面窗口旁边添加六个按钮,分别为变频器1到6,通过点击按钮来改变画面窗口的变量前缀,这样画面窗口中就会显示不同变频器额参数了,如何在按钮中添加修改变量前缀的c或者vb代码,请给出具体代码,
最佳答案
关于前缀的问题,给出代码是不方便的。

需要的是在创建画面窗口的时候,在属性栏前缀项输入已经建立好了的变量前缀。

输入好变量前缀之后,该画面在打开后,画面窗口里面的所有变量都将附上该前缀。

如有的该画面里面的变量不是结构变量,则该变量不能被执行,需要加上屏蔽指令,通常用@nop即可。

该符号的意思是取消变量前缀和服务器前缀,是一个通用的。

具体输入格式如tag=hmiruntime.tags(“@notp::@currentuser”).read那么就把用户变量屏蔽了。

关于按钮的话,只需要附上不同的后缀即可。

如前缀是motor.umotor.v那么在按钮处点击事件-直接连接-就只需附上u或者v。

当画面打开就构成了完整的结构变量。

ps:在控制同样的电机时,建议建立一个结构变量,这样在画面里面改变相应后缀即可实现)。

相关文档
最新文档