《电子制作站》广告牌设计,透彻理解电子元器件仿真模型开发
嘿,电子爱好者们!是不是对元件模型开发充满热情,但遇到复杂项目就卡壳?从粉丝反馈中,我们发现大家的问题多集中在进阶技巧上——毕竟官方文档只提供了基础灯泡示例。为此,我们计划逐步推出更复杂的实战案例!当然,VisualCom平台的基础操作就不多说了,相信你已经驾轻就熟。
今天,咱们一起打造一个炫酷的《电子制作站》广告牌,先来看看效果图:
想设计这样一款高逼格广告牌?其实思路和灯泡模型一脉相承!核心秘诀:熄灭时用黑色矩形覆盖显示,点亮时再叠加文字图层(注意,黑色矩形每次必贴,文字则根据状态切换),简单高效!下面,手把手带你实现。
在VisualCom安装目录的sample文件夹中,找到“电子制作站广告牌.dsn”工程文件,打开后效果如下:
为方便大家快速上手,每个例程都包含预置数据的元件(仿真立即可见效果),以及完整的元件图形资源。图中右侧是库中的实际元件(带名称和编号),左侧顶部是创建元件时的参考图形(与右侧实例一致)。
如前所述,熄灭状态需用黑色矩形覆盖,因此先创建矩形图形。大小可与参考图形一致(复制或直接创建),颜色后期可调。点亮状态需文字图形,同样从参考中复制,文字内容和颜色均可自定义,关键是有文字对象。
现在,正式开始创建元件!全选左侧顶部图形,右键点击选择“创建元件”,如下图:
在“创建元件”对话框中完成设置(见下图)。关键点:仿真模型文件名设为“LED_DZZZZCN.DLL”(牢记!);为支持自定义颜色,添加“背景”和“文字”颜色属性,默认值分别为黑色(000000)和绿色(00FF00)。这些属性在原理图和模型开发中均可调用。
点击“确定”,新元件即刻生成!在“选择元件”对话框中可见,效果如下:
接下来,创建关联图形。选中左侧中间的黑色矩形,右键选择“创建图形”,如下图:
在对话框中定位新元件,设置图形索引为“1”,点击“确认”,如下图:
同理,将左侧底部文字(绿色dzzzzcn)创建图形,索引设为2。步骤雷同,不再重复。
元件和图形工具准备就绪!在“选择元件”对话框中双击添加元件到原理图。切记:先创建关联图形再添加元件,否则图形无法显示!添加后,“自定义”组将显示新属性,如下图(描述文字可选,此处未设)。
为确保仿真顺利,需预置数据:数据最低位0熄/1亮,如下图。当然,模型开发中你可自定义协议,相应处理即可。
原理图符号搞定!接下来进入仿真模型开发阶段。新建项目步骤请参考手册,咱直接看头文件,如下图:
类CLED_DZZZZCN中声明了4个变量:m_Status(保存状态)、m_RefreshCtrl(控制刷新),作用类同灯泡模型。为支持颜色自定义,添加了FILLSTYLE类型bgfs(填充样式)和FONTSTYLE类型fs(文字样式)。component变量及以下代码与灯泡模型一致。
现在看源文件(核心代码摘录)。构造函数初始化如下,细节略:
进入仿真后,Initialize函数首先保存ICOMPONENT指针到component,所有元件操作基于此。随后通过GetColorFiledById获取ID100和101的颜色值(自定义属性ID从100起,见手册)。多边形可改样式和颜色,文字可改内容和颜色,GetTCHARFromChar用于类型转换。
Simulate函数中,GetProData获取预置数据,根据最低位更新m_Status和m_RefreshCtrl。处理成功返回TRUE,预置数据窗口才会推进。
调试小贴士:用SetOutputInfo函数打印数据,单步仿真时,输出窗口的信息栏会显示详情,如下图:
若使用sprintf报错(C4996:不安全,建议用sprintf_s),可在工程属性→C/C++→预处理器中添加宏“_CRT_SECURE_NO_WARNINGS”禁用警告。
回到正题。Animate函数在缓存中绘图(介于BeginCache和EndCache之间)。先获取矩形(索引1),用GetSymbolOffset取偏移值(因默认参考右下角),结合DrawSymbol精准定位到左上角。也可直接以(0,0)为参考负向调整。绘制时传入bgfs改填充样式;文字类似,传入fs改文字样式,步骤雷同。
Plot函数很简单,调用Animate刷新视图,如下图。切记:返回TRUE视图才更新。
编译注意事项见文档。将生成的LED_DZZZZCN.DLL复制到model文件夹。仿真时,输出窗口的状态页会显示加载成功提示,退出时也有卸载信息,如下图:
本案例完整源码已上传至Github,链接见文末(VisualCom仓库Demo文件夹)。
相关问答
现代互动广告有哪些爆款创意?
互动式页面让用户深度参与,提升体验感和归属感,从而放大营销效果。这里分享几个H5互动广告的创意案例(来自日常收集):...




