【VM服务管家】VM4.2平台SDK_6.3 控件嵌入类

2.3.1 渲染控件:渲染控件上自定义图形的方法

描述
环境:VM4.2 + VS2013及以上
现象:VM4.2如何在渲染控件上自定义图形?
解答
VM4.2二次开发相比较VM4.0二次开发,渲染控件上自定义图形有一些更新,除了接口vmRenderControl.DrawShape(),新增加一个接口vmRenderControl.AddShape(),前者是立刻绘制,后者是在下次刷新渲染时自动绘制。所以在VM4.0二次开发回调函数中图像渲染并添加自定义图形时, DrawShape接口函数前需要添加延时,不然回调中的图像渲染还没更新,自定义的图形已经调用DrawShape函数,从而导致自定义图形不能很好的渲染在图像上。在VM4.2二次开发中使用AddShape接口就不要加延时,它会在图像渲染结束后再绘制自定义图形。
手动添加引用VMControls.WPF.dll、WindowsBase.dll,添加后,引用属性【复制本地】改为false;渲染控件需要先绑定图像,再调用渲染控件的AddShape绘图接口;支持直线、圆形、矩形、文本等图形元素绘制;绘制时机:流程运行结束,在流程结果回调函数中绘制。下面绘制了直线和文本,其它图形依次类推。

C#
//绘制直线
VMControls.WPF.LineEx line = new VMControls.WPF.LineEx(new System.Windows.Point(100, 100), new System.Windows.Point(600, 600), stroke: "#FF0000", strokeThickness: 10);
vmRenderControl1.AddShape(line);
//绘制文本
VMControls.WPF.TextEx text = new VMControls.WPF.TextEx("欢迎使用VM4.2二次开发!", new System.Windows.Point(1000, 1000), fontSize: 20, stroke: "#FF0000");
vmRenderControl1.AddShape(text);

问题根因
不熟悉如何绘制自定义图形。

2.3.2 参数控件:参数配置控件绑定模块的方法

描述
环境:VM4.2 + VS2013及以上
现象:如何给参数配置控件绑定指定模块?
解答

  1. 参数配置控件绑定模块方法(C#),示例代码如下。
C#

// 参数配置控件模块绑定
private void button3_Click(object sender, EventArgs e)
{
    try
    {
        //参数配置
        var blobTool = (VMControls.Interface.IVmModule)VmSolution.Instance["流程1.BLOB分析1"];
        //参数配置控件
        vmParamsConfigControl1.ModuleSource=blobTool;
        //参数配置控件带渲染
        vmParamsConfigWithRenderControl1.ModuleSource = blobTool;
    }
    catch (VmException ex)
    {
        MessageBox.Show(Convert.ToString(ex.errorCode, 16));
    }
}

2.参数配置控件绑定模块方法(C++),代码如下。

C++
//参数设置
void CMFCApplication5Dlg::OnBnClickedButton4()
{
	// TODO: 在此添加控件通知处理程序代码
	try
	{
		auto pObject = (CModuParamsBase*)(*m_pVmSol)[“流程1.圆查找1”];
		m_ParamsRender.SetParamsInfo(pObject, "");
	}
	catch (CVmException ex)
	{
		CString strTemp;
		strTemp.Format(_T("%d"), ex.GetErrorCode());
	}
}

3.绑定效果
在这里插入图片描述

问题根因
不熟悉控件的资源绑定方法。

2.3.3 控件颜色:控件颜色修改方法

描述
环境:VM4.2 + VS2013及以上
现象:如何修改控件颜色?
解答

  1. 修改控件背景色,示例代码(C#)如下。注意:渲染控件颜色修改的前提是渲染控件已经绘制到窗口中。
    当通过拖拉渲染控件到窗口中时,控件颜色修改只能写在窗口初始化之后,如Load事件中或按钮事件中;
    当通过动
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值