关于Wincc的C函数(6)二、内部函数
内部函数用来画图形对象和使归档动态化,并用于项目函数、标准函数和全局脚本动作中。 在整个项目中都识别内部函数。 既不能创建新的内部函数,也不能修改已存在的内部函数。 1. allocate保留和释放工作存储器空间的函数 void SysFree(void* lpFree)函数,通过SysMalloc函数释放保留的存储器区域。 参数lpFree,指向通过SysMalloc函数保留的存储器区域的指针。 2. void* SysMalloc(unsigned long int size)函数,为动作保留存储器空间。存储器区域被分配给该动作。已完成动作和已传送结果时,系统再次释放存储器。 SysFree函数可用来过早释放保留的存储器空间。 参数size,按字节计算的存储器区域的大小。 3. c_bib函数组c_bib包含来自C库的C函数 Graphics - 简短描述 使用Graphics组中的函数可以修改或调用WinCC对象的图形属性。 Axes - 简短描述 Axes组中的函数仅用于棒图对象。 该函数可用来修改或调用各种棒图对象属性。 1. BOOL GetAlignment(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指明文本在棒图的左面还是右面。 读出棒图对象的布尔型属性的实例 { BOOL bscaling; //获得标尺状态 bscaling = GetScaling(lpszPictureName,"Bar1"); if (bscaling) { // 自定义代码 // 棒图对象有一个附加的标尺 ... } else { // 自定义代码 // 棒图对象没有附加的刻度 ... } } GetScaling函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Bar1”是该对象的名称。 1). 读出棒图刻度是否可见以及bscaling中的缓冲区。 2). 根据该函数的返回值执行自定义代码。 2. double GetAxisSection(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定两个邻近轴标签之间的数值差。 3. BOOL GetExponent(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定轴标签对应于小数或指数形式。 读出棒图对象的布尔型属性的实例 {BOOL bscaling; //获得标尺状态 bscaling = GetScaling(lpszPictureName,"Bar1"); if (bscaling) { // 自定义代码 // 棒图对象有一个附加的标尺 ... } else { // 自定义代码 // 棒图对象没有附加的刻度 ... } } GetScaling函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Bar1”是该对象的名称。 1). 读出棒图刻度是否可见以及bscaling中的缓冲区。 2). 根据该函数的返回值执行自定义代码。 4. long int GetLeftComma(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定轴标签中的整数数量。 参数lpszPictureName 画面名lpszObjectName 对象名 返回值,轴标签中的整数数量 5. BOOL GetLongStrokesBold(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定以粗体还是常规形式显示标尺上的主要刻度线。 读出棒图对象的布尔型属性的实例 { BOOL bscaling; //获得标尺状态 bscaling = GetScaling(lpszPictureName,"Bar1"); if (bscaling) { // 自定义代码 // 棒图对象有一个附加的标尺 ... } else { // 自定义代码 // 棒图对象没有附加的刻度 ... } } GetScaling函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Bar1”是该对象的名称。 1). 读出棒图刻度是否可见以及bscaling中的缓冲区。 2). 根据该函数的返回值执行自定义代码。 6. long int GetLongStrokesSize(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定主要刻度线的长度。 7. long int GetLongStrokesTextEach(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定主要刻度线标签的间隔长度。 8. long int GetRightComma(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定坐标轴标签中的小数位数。 9. long int GetScaleTicks(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它将标尺单位定义为标尺分段的数量。一个标尺分段对应于两条主要刻度线之间的范围 10. BOOL GetScaling(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图时,它指定激活还是取消激活标尺。 读出棒图对象的布尔型属性的实例 { BOOL bscaling; //获得标尺状态 bscaling = GetScaling(lpszPictureName,"Bar1"); if (bscaling) { // 自定义代码 // 棒图对象有一个附加的标尺 ... } else { // 自定义代码 // 棒图对象没有附加的刻度 ... } } GetScaling函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Bar1”是该对象的名称。 1). 读出棒图刻度是否可见以及bscaling中的缓冲区。 2). 根据该函数的返回值执行自定义代码。 11. long int GetScalingType(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定棒图标尺的类型。 Color - 简短描述 使用Color组中的函数可以修改或调用对象的颜色属性。 1. long int GetBackColor(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定对象的背景色为数字值。 读出颜色值的实例 { long int bk_color; // linkinfo.szLinkName是变量名。 // linkinfo.dwCycle是更新周期 // linkinfo.LinkType是该连接的类型 //自定义代码 //在那里用户可以使用返回值做某事 ... } GetBackColor函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Static Text1”是该对象的名称。 1). 读出当前背景色和bk_color中的缓冲区。 2). 执行处理返回值的自定义代码。 2. long int GetBackColor2(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定棒图的颜色为数字值。 读出颜色值的实例 { long int bk_color; // linkinfo.szLinkName是变量名。 // linkinfo.dwCycle是更新周期 // linkinfo.LinkType是该连接的类型 //自定义代码 //在那里用户可以使用返回值做某事 ... } GetBackColor函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Static Text1”是该对象的名称。 3. long int GetBackColor3(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定棒图的背景色为数字值。 读出颜色值的实例 { long int bk_color; // linkinfo.szLinkName是变量名。 // linkinfo.dwCycle是更新周期 // linkinfo.LinkType是该连接的类型 //自定义代码 //在那里用户可以使用返回值做某事 ... } GetBackColor函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Static Text1”是该对象的名称。 Fill - 简短描述 Fill组中的函数控制对象的动态填充。 1. BOOL GetFilling(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定是否激活背景色动态填充。 读出“动态填充”属性的实例 { BOOL bfilling; //获得动态填充的实际状态 bfilling = GetFilling(lpszPictureName," Rectangle 1"); if(bfilling) { // 自定义代码 // 动态填充是否被激活 ... } else { // 自定义代码 // 动态填充是否被取消激活 ... } } GetFilling函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Rectangle1”是该对象的名称。 1). 读出动态填充是否激活以及bfilling中的缓冲区。 2). 根据该函数的返回值执行自定义代码。 2.long int GetFillingIndex(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定当前填充量。 读出填充索引的实例 { long int filling_index; //获得该对象的实际填充索引 filling _index = GetFillingIndex(lpszPictureName," Rectangle 1"); //自定义代码 //在那里用户可以使用返回值做某事 ... } GetFillingIndex函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Rectangle1”是该对象的名称。 1). 读出该对象的当前填充索引以及filling_index中的缓冲区。 2). 执行处理返回值的自定义代码。 Flash - 简短描述 使用Flash组中的函数可以修改或调用各种闪烁属性。 1. long int GetBackFlashColorOff(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定取消激活状态的闪烁背景色 读出闪烁颜色的实例 { long int flashcol_on; //获得背景闪烁颜色 flashcol_on = GetBackFlashColorOn(lpszPictureName,"Group 1"); //自定义代码 //在那里用户可以使用返回值做某事 ... } GetBackFlashColorOn函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Group 1”是该对象的名称。 1). 读出该对象的开状态的当前背景闪烁颜色以及flashcol_on中的缓冲区。 2). 执行处理返回值的自定义代码。 2. long int GetBackFlashColorOn(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定激活状态的背景闪烁颜色。 读出闪烁颜色的实例 { long int flashcol_on; //获得背景闪烁颜色 flashcol_on = GetBackFlashColorOn(lpszPictureName,"Group 1"); //自定义代码 //在那里用户可以使用返回值做某事 ... } GetBackFlashColorOn函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Group 1”是该对象的名称。 1). 读出该对象的开状态的当前背景闪烁颜色以及flashcol_on中的缓冲区。 2). 执行处理返回值的自定义代码。 3. long int GetBorderFlashColorOff(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定取消激活状态的边框或线闪烁颜色。 读出闪烁颜色的实例 { long int flashcol_on; //获得背景闪烁颜色 flashcol_on = GetBackFlashColorOn(lpszPictureName,"Group 1"); //自定义代码 //在那里用户可以使用返回值做某事 ... } GetBackFlashColorOn函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Group 1”是该对象的名称。 4. long int GetBorderFlashColorOn(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定激活状态的边框或线闪烁颜色。 读出闪烁颜色的实例 { long int flashcol_on; //获得背景闪烁颜色 flashcol_on = GetBackFlashColorOn(lpszPictureName,"Group 1"); //自定义代码 //在那里用户可以使用返回值做某事 ... } GetBackFlashColorOn函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Group 1”是该对象的名称。 5. BOOL GetFlashBackColor(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定是否激活背景闪烁。 读出“闪烁背景激活”属性的实例 { BOOL bflash_col; //了解闪烁是开还是关 bflash _col = GetFlashBackColor(lpszPictureName,"Group 1"); if(bflash_col) { // 自定义代码 // 闪烁是否被激活 ... } else { // 自定义代码 // 闪烁是否被取消激活 ... } } GetFlashBackColor函数参数: “lpszPictureName”是在其中组态该对象的画面的名称。 “Group 1”是该对象的名称。 1). 读出背景色闪烁是否被激活以及bflash_col中的缓冲区。 2). 根据该函数的返回值执行自定义代码。 Focus - 简短描述 使用Focus组中的函数,可以设置焦点或轮询哪个对象有焦点。 1. char* Get_Focus()函数,指定当前或最后聚焦的对象的名称。 要求当前在哪一个对象上设置焦点的实例 { char* pszValue = NULL; char szValue[_MAX_PATH+1]; //获得具有焦点的对象 pszValue = Get_Focus(); //复制字符串 if (pszValue != NULL) { strncpy(szValue,pszValue,_MAX_PATH); } //自定义代码 //在那里用户可以使用返回值做某事 ... } 1). 读出在其上设置焦点的对象以及pszValue中的缓冲区。 2). 如果返回有效数值,将该函数的返回值存储在本地字符串szValue中。最多存储_MAX_PATH个字符。 3). 执行处理返回值的自定义代码。 |
|