CkvsRunCtrl开发手册.doc_第1页
CkvsRunCtrl开发手册.doc_第2页
CkvsRunCtrl开发手册.doc_第3页
CkvsRunCtrl开发手册.doc_第4页
CkvsRunCtrl开发手册.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CkvsRunCtrl控件开发手册CkvsRunCtrl控件开发手册一、 控件简介CkvsRunCtrl控件是配合CkvsBuilder软件使用,可以加载并使用CkvsBuilder软件生成的工程文件,控件可以嵌入到客户自己开发的程序中,并通过接口函数获得检测结果数据,以简化客户程序的开发过程。图1-1 CkvsRunCtrl控件使用范例界面二、 函数说明1. BOOL LoadProject(LPCTSTR strFileName)功能:从文件中装载工程文件。参数:strFileName工程文件路径名。返回:成功返回TRUE,否则返回FALSE。2. BOOL SaveProject(LPCTSTR strFileName)功能:将当前工程保存到文件。参数:strFileName工程文件路径名。返回:成功返回TRUE,否则返回FALSE。3. void CloseProject()功能:关闭当前工程文件。4. long GetFirstProc()功能:获取第一个流程的指针。返回:成功返回流程指针地址,否则返回NULL。5. long GetNextProc(long pProc)功能:获取输入流程的下一个流程指针。参数:pProc输入流程指针地址。返回:成功返回流程指针地址,否则返回NULL。6. CString GetProcName(long pProc)功能:获取指定流程的名称。参数:pTool输入流程指针地址。返回:成功返回流程名称,否则返回空字符串。7. long GetProc(LPCTSTR strName)功能:获取指定流程指针地址。参数:strName输入流程名称。返回:成功返回流程指针地址,否则返回NULL。8. long GetFirstTool(long pProc)功能:获取指定流程中的第一个工具。参数:pProc输入流程指针地址,主流程可设为NULL。返回:成功返回工具指针地址,否则返回NULL。9. long GetNextTool(long pTool)功能:获取输入工具的下一个工具指针。参数:pTool输入工具指针地址。返回:成功返回工具指针地址,否则返回NULL。10. CString GetToolName(long pTool)功能:获取指定工具的名称。参数:pTool输入工具指针地址。返回:成功返回工具名称,否则返回空字符串。11. long GetTool(long pProc, LPCTSTR strToolName)功能:根据名称获取指定工具的指针地址。参数:pProc输入流程指针地址,主流程可设为NULL。strToolName输入工具名称。返回:成功返回指向工具的指针地址,否则返回NULL。12. BOOL GetToolEnabled(long pTool)功能:获得指定工具的激活/屏蔽状态。参数:pTool输入工具指针。返回:输入工具有效且为激活状态返回TRUE,否则返回FALSE。13. BOOL SetToolEnabled(long pTool, BOOL bEnabled)功能:屏蔽/激活指定工具。参数:pTool输入工具指针。bEnabledTRUE为激活,FALSE为屏蔽。返回:输入工具有效返回TRUE,否则返回FALSE。14. BOOL ShowProperty(long pTool)功能:弹出指定工具的属性对话框。参数:pTool输入工具指针。返回:确认返回TRUE,否则返回FALSE。15. BOOL Execute(BOOL bRun)功能:执行程序(包含所有流程)。参数:bRunTRUE为所有流程连续运行,FALSE为每个流程只执行一次。返回:成功返回TRUE,否则返回FALSE。16. BOOL Stop(BOOL bForce)功能:停止执行程序。参数:bForceTRUE为强制停止(可退出死循环,完成当前执行的工具就立即返回),FALSE为一般的停止(必须执行完整个流程才返回)。返回:成功返回TRUE,否则返回FALSE。17. BOOL IsRuning()功能:当前程序是否正在执行或运行。返回:正在执行或运行返回TRUE,否则返回FALSE。18. BOOL SendProcMsg(long pProc, long lMsg)功能:发送一个消息给指定流程。参数:pProc输入流程指针地址。lMsg 消息索引标识。返回:成功返回TRUE,否则返回FALSE。19. BOOL GetResultStatus(long pTool, LPCTSTR strName, long nIndex, long* retVal)功能:获取指定工具的BOOL类型数据。参数:pTool输入工具指针地址。strName 需要获取的数据名称,数据名称可以在CkvsBuilder软件中的“数据链接”对话框中找到。nIndex 数据数组索引,当数据为数组时有用。retVal 输出状态数据值。返回:成功返回TRUE,否则返回FALSE。20. BOOL GetResultInt32(long pTool, LPCTSTR strName, long nIndex, long* retVal)功能:获取指定工具的整型数据。参数:pTool输入工具指针地址。strName 需要获取的数据名称,数据名称可以在CkvsBuilder软件中的“数据链接”对话框中找到。nIndex 数据数组索引,当数据为数组时有用。retVal 输出的整型数据值。返回:成功返回TRUE,否则返回FALSE。21. BOOL GetResultDouble(long pTool, LPCTSTR strName, long nIndex, double* retVal)功能:获取指定工具的浮点型数据。参数:pTool输入工具指针地址。strName 需要获取的数据名称,数据名称可以在CkvsBuilder软件中的“数据链接”对话框中找到。nIndex 数据数组索引,当数据为数组时有用。retVal 输出的浮点型数据值。返回:成功返回TRUE,否则返回FALSE。22. void ZoomIn(void)功能:放大显示图像。23. void ZoomOut(void)功能:缩小显示图像。24. void Zoom1x1(void)功能:还原1倍显示图像。25. void ZoomFit(void)功能:自动适应显示图像。26. BOOL SetCrossOffset(long lIndex, double dOffsetX, double dOffsetY);功能:设置图像画面中心十字线偏移。参数:lIndex输入图像画面索引。dOffsetXX轴偏移量。dOffsetYY轴偏移量。返回:成功返回TRUE,否则返回FALSE。27. BOOL GetCrossOffset(long lIndex, double* dOffsetX, double* dOffsetY);功能:获取图像画面中心十字线偏移。参数:lIndex输入图像画面索引。dOffsetX返回X轴偏移量。dOffsetY返回Y轴偏移量。返回:成功返回TRUE,否则返回FALSE。三、 事件说明1. void OnNotifyTool(long pProc, long nIndex)功能:接收 “通知控件”工具向控件发送的消息,可以在接收到消息后执行自己的代码,相当于把这部分代码嵌入到流程当中。参数:pProc“通知控件”工具所在的流程。nIndex“通知控件”工具消息标识,可以根据该标识执行不同的代码。图3-1 “通知控件”工具的使用四、 使用说明1. 注册控件:运行CkvsBuilder软件目录下的Reg.bat文件,稍等一会弹出如下对话框,点击“确认”完成注册。图4-1 注册成功2. 添加控件:将控件拖动到画面上,并定义好关联变量后就可以开始使用控件。3. 当前流程:使用函数LoadProject函数装载工程后当前流程默认为“主流程”,使用GetProc函数获取流程时需要传入流程名称,流程名称可以在CkvsBuilder软件流程列表中找到,见下图。图4-2 流程列表4. 获取工具:使用GetTool函数获取工具时需要传入工具的名称,工具名称可以在CkvsBuilder软件工具列表中找到,见下图。图4-3 工具列表5. 获取数据:使用GetResultStatus、GetResultInt32或GetResultDouble函数获取数据时需要传入数据名称,数据名称可以在CkvsBuilder软件数据链接列表中找到(名称不包含后面的“”符号),见下图。图4-4 数据链接6. 获取数据方法:新版本中获取数据的方法需要通过NotifyTool事件来完成,不能直接在Execute函数后面获取数据,首选要在流程中添加一个“通知控件”工具(参见图3-1),然后在控件程序中增加NotifyTool事件,再在事件中获取数据结果(参见示例代码)。五、 示例代码1. 获取定位工具的数据/ 获取工具指针地址,“Model”为工具名称。long pTool = m_ckvsrun1.GetTool(NULL,”Model”);/ 获取匹配目标数量。long lValue=0;m_ckvsrun1.GetResultInt32(pTool,”Count”,0,&lValue );/ 获取匹配分数和坐标位置。double dScore=0.0,dX=0.0,dY=0.0;ckvsrun1.GetResultDouble(pTool,”Score”,0,&dScore);ckvsrun1. GetResultDouble(pTool,” PositionX”,0,&dX);ckvsrun1. GetResultDouble(pTool,” PositionY”,0,&dY);2. 接收消息工具例子void CCkvsRunDemoDlg:OnNotifyToolCkvsrunctrlctrl1(long pProc, long nIndex) long lValue=0;double dScore=0.0,dX=0.0,dY=0.0;switch(nIndex)case 0:/ 获取数据结果long pTool = m_ckvsrun1.GetTool(pProc,”Model”);m_ckvsrun1.GetResultInt32

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论