#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#define PIC_0 "w_start"
SetBackColor("w_left.pdl","Button1",0xd8e9ec); //Return-Type: BOOL
SetBackColor("w_left.pdl","Button2",0xd8e9ec); //Return-Type: BOOL
SetBackColor("w_left.pdl","Button3",0xcfe8cc); //Return-Type: BOOL
SetBackColor("w_left.pdl","Button4",0xd8e9ec); //Return-Type: BOOL
SetBackColor("w_left.pdl","Button5",0xd8e9ec); //Return-Type: BOOL
SetBackColor("w_left.pdl","Button6",0xd8e9ec); //Return-Type: BOOL
SetBackColor("w_left.pdl","Button7",0xd8e9ec); //Return-Type: BOOL
SetBackColor("w_left.pdl","Button8",0xd8e9ec); //Return-Type: BOOL
} SetPictureName(PIC_0,"画面窗口5","pic_yuchuli_xigeSan");
WinCC标准函数集(二)
注:该篇文档包含用户函数集Graphics、Report、Taglog、WinCC、Execute Program篇,介绍与WinCC编程图形、报表打印、表格趋势控件、WinCC系统函数、调用其他程序有关的函数。
Graphics - 简短描述
Graphics组包含用于编程图形系统的函数。
1.char* GetLinkedVariable(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)函数,提供与指定的对象属性链接的变量的名称。
读出直接连接的变量名的实例。
{char* pszVarName = NULL;
char szVarName[_MAX_PATH+1];
//获得变量名 pszVarName
= GetLinkedVariable("gs_stand_graph_00","Static Text 6","Visible");
//复制字符串
if (pszVarName != NULL)
{ strncpy(szVarName,pszVarName,_MAX_PATH);
}
//自定义代码
//在那里用户可以使用返回值做某事
...}
char szVarName[_MAX_PATH+1];
//获得变量名 pszVarName
= GetLinkedVariable("gs_stand_graph_00","Static Text 6","Visible");
//复制字符串
if (pszVarName != NULL)
{ strncpy(szVarName,pszVarName,_MAX_PATH);
}
//自定义代码
//在那里用户可以使用返回值做某事
...}
GetLinkedVariable函数参数:
“gs_stand_graph_00”是在其中组态该对象的画面的名称。
“Static Text 6”是该对象的名称。
“Visible”是链接到变量的属性。
1). 将函数GetLinkedVariable的返回值缓冲存储在pszVarName中。
2). 如果返回有效数值,将该返回值存储在szVarName中。最多存储_MAX_PATH个字符。
3). 执行处理返回值的自定义代码。
2.char* GetLocalPicture(char* lpszPictureName)函数,返回指向画面名的指针。 在这种情况下,画面名就是该文件名,不带扩展名“.PDL”。
读出本地画面的实例。
{char* pszPicName = NULL;
char szPicName[_MAX_PATH+1];
//获得本地画面 pszPicName
= GetLocalPicture(lpszPictureName);
//复制字符串
char szPicName[_MAX_PATH+1];
//获得本地画面 pszPicName
= GetLocalPicture(lpszPictureName);
//复制字符串
if (pszPicName != NULL)
{ strncpy(szPicName,pszPicName,_MAX_PATH);
}//自定义代码
//在那里用户可以使用返回值做某事
...
}
{ strncpy(szPicName,pszPicName,_MAX_PATH);
}//自定义代码
//在那里用户可以使用返回值做某事
...
}
1). 将函数GetLocalPicture的返回值缓冲存储在pszPicName中。
2). 如果返回有效数值,将该返回值存储在szPicName中。最多存储_MAX_PATH个字符。
3). 执行处理返回值的自定义代码。
3.char* GetParentPicture(char* lpszPictureName)函数,返回指向画面名称的指针。在这种情况下,画面名就是该文件名,不带扩展名“.PDL”。
读出画面名称路径的实例
{char* pszPicName = NULL;
char szPicName[_MAX_PATH+1];
//rows函数的使用方法及实例获得母画面 pszPicName
= GetParentPicture(lpszPictureName);
//复制字符串
if (pszPicName != NULL)
{strncpy(szPicName,pszPicName,_MAX_PATH);
}//自定义代码
//在那里用户可以使用返回值做某事
...}
char szPicName[_MAX_PATH+1];
//rows函数的使用方法及实例获得母画面 pszPicName
= GetParentPicture(lpszPictureName);
//复制字符串
if (pszPicName != NULL)
{strncpy(szPicName,pszPicName,_MAX_PATH);
}//自定义代码
//在那里用户可以使用返回值做某事
...}
1). 将该函数GetParentPicture的返回值缓冲存储在pszPicName中。
2). 如果返回有效数值,将该返回值存储在szPicName中。。。。。. 最多存储_MAX_PATH个字符。
3). 执行处理返回值的自定义代码。
4.char* GetParentPictureWindow(char* lpszPictureName)函数,返回指向画面窗口的名称的指针。
实例:
基本画面“Picture_1”有画面窗口“Picture Window_1”,在其中调用画面“Picture_2”。
画面“Picture_2”有画面窗口“Picture Window_2”,在其中调用画面“Picture_3”。
该函数调用
GetParentPictureWindow(lpszPictureName)
指向画面窗口名称的指针:
“Picture_2”,是否从画面“Picture_3”调用该函数。
“Picture Window_1”,是否从画面“Picture_2”调用该函数。
“Picture_1”,是否从画面“Picture_1”调用该函数。
5. void OpenPicture(Picture Name)函数,用设置的画面名打开画面。
6. char* Registry2(char* mode, char* String0, char* String1)函数,该函数管理字符串对(String0,String1)的列表。
Report - 简短描述
Report组包含用来启动打印作业的打印预览或打印输出本身的函数。
1. void ReportJob(LPSTR lpJobName, LPSTR lpMethodName)函数,根据参数lpMethodName的数值,决定启动打印作业或打印预览。
RPTJobPreview和RPTJobPrint, 打印作业被启动和打印作业的预览被启动
2. BOOL RPTJobPreview(LPSTR lpJobName)函数,打印作业的预览被启动。
启动作业预览的实例
{//启动指定打印作业的打印预览
RPTJobPreview("Documentation Text Library");
}
RPTJobPreview函数参数:
@Text library (compact)是打印作业的名称。
3. BOOL RPTJobPrint(LPSTR lpJobName)函数,打印作业被启动。
启动打印作业的实例
{//打印输出指定的打印作业
RPTJobPrint("@Text library (compact)");
}
RPTJobPrint函数参数:
@Text library (compact)是打印作业的名称。
4. void RptShowError(LPCSTR pszFailedFunction, CMN_ERRORA* pCmnErrorA)函数,该函数提供对失败的打印作业的错误描述。该函数调用是标准函数RptJobPrint和RptJobPreview的组成部分,因此不要求单个调用命令。
结构定义CMNERROR
struct CMNERRORSTRUCT {
DWORD dwError1,
DWORD dwError2,
DWORD dwError3,
DWORD dwError4,
DWORD dwError5;
TCHAR szErrorText[MAX_ERROR_LEN];
}
CMNERROR描述
扩展的错误结构包含错误代码和与发生的错误相关的错误文本。每个应用程序可以使用该错误结构评价或发出错误消息。
组成部分
dwError1 .. dwError5
可按API函数的要求使用这些条目。
API描述包含出错时条目的各自数值。否则,错误代码在dwError1中。
szErrorText
错误代码的文本描述缓冲区
从资源建立该内容,因此依赖于语言。
TagLog - 简短描述
TagLog函数包含控制WinCC表格控件和WinCC趋势控件的函数。
Template子组包含调用某些控制值的函数。
Toolbar Buttons子组包含用于工具栏中每个按钮的标准函数。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。
1. int TlgGetColumnPosition(char* lpszTemplate)函数,以表格窗口中的列指针的当前位置作为列索引。
使用标准函数操作WinCC表格控件的实例
{char text[5];
long int columns
//获得列数
columns = GetNumberOfColumns("TableControl_01");
/
long int columns
//获得列数
columns = GetNumberOfColumns("TableControl_01");
/
/转换长整型为字符 sprintf
(text,"%d",columns);
//在Text Field 5 SetText上设置文本
(lpszPictureName,"Static Text 5",text);
}
(text,"%d",columns);
//在Text Field 5 SetText上设置文本
(lpszPictureName,"Static Text 5",text);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论