2021-06-24

使用力控组态软件(ForceControl)生成二维码

    最近公司老板要求,要在我们的力控HMI运行画面增加自动生成二维码功能,将某些重要信息用二维码展示出来。作为职业打工人,深知这关系到老板年底能不能换大House和大G,必须加班加点干出来。于是我再仔细查看了一下力控开发手册,力控并没有现成的二维码控件,但是发现力控是一个标准的ActiveX容器

   那么自然有了一种思路:是否可以开发一个ActiveX控件,然后利用力控提供的ActiveX容器来达到我的目的呢?答案是可行的。

   接下来第一步就是如何开发一个ActiveX控件。这个感兴趣可以去网上搜索资料。我这里是使用Visual Studio2013 作为开发平台,使用C++创建MFC ActiveX控件工程。

   这里需要特别感谢我的领导,他给了一份我QR码的C源代码,我在CSDN上查阅了QR码(https://blog.csdn.net/bemy1008/article/details/82886915?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242)组成:定位图案 功能数据 数据内容 共三部分。其中数据内容的纠错码我看得不太明白,但是搞清楚了它的作用:即使QR码有部分遮蔽或者毁坏也能被识别。言归正传。

  下面先定义一属性m_InputeDataB和一个方法ReFreshB(),前者是从力控传入QR码的内容(字符串CString,这个类型我纠结了许久),后者是当输入内容改变时可以触发控件重绘,就是刷新QR码啦。

 编写完成后,就能生成一个OCX控件了。终于看见曙光了。

 当然,还需要将控件注册到系统中去,力控才能看见。将QRCode.ocx 复制到下图位置,然后运行regsvr32注册控件。如果是32位操作系统应该复制控件到System32文件夹里。

注册控件成功那么我们在力控中测试一下吧。

 力控-->复合控件-->ActiveX弹出的控件中已经可以看到我们刚才注册的控件啦。

然后我们再测试一下刚才在VS工程中增加的m_InputeDataB属性和方法ReFreshB()。

左键按钮查看QR码是否有刷新

 测试结果OK,遗憾的是不能生成中文字符,否则乱码。

至此,老板的梦想又进了一步[苦笑]。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值