Proteus深入研究(一): 初体验

引言

现在开始研究数字电路分析.

数字电路分析与模拟电路分析相差甚远,至少在元件种类上是一个明显的差别:模拟元件总归是比较少的,而数字元件种类繁多,就建模而言,再将建立数字元件的图形与分析模型的工作交给用户去做,显然是不现实的.

Proteus是一个电路分析软件,我先学习消化一下它,然后再做自己的程序.

欢迎各位朋友多提宝贵意见,我的软件下载地址: http://www.drgraph.com/viewthread.php?tid=100&extra=page%3D1

 

一. 初体验

今天开始研究学习Proteus。首先安装Proteus,在网上下载了一个7.1 sp4的破解版,Proteus_VSM_7[1].1_SP4_FULL_inc_crack.zip,然后在虚拟机上安装,一切正常。在安装的过程中,把北航出的书《基于PROTEUS的电路及单片机系统设计与仿真》(作者:周润景、张丽娜)打开,粗粗地看了一下目录。还是从头开始学吧。基础篇,先讲ISIS编辑环境。顺便打开例程Tutorials中的Amodtut来看看。一用才发现,Proteus的界面很简单,和Protel差不多。但其中的导线连接关系的处理要比Protel强一些,可以拖动元件,导线能随动。呵呵,但它在这方面的易用性比起我的DrGraph软件来说,还有些差距,拖动不爽,创建亦不爽;还有一点不爽的就是,每次Undo或Redo后,屏幕要闪一下。当然,这些就不说了,还是学学人家比较好的地方吧。刚想到这里,就发现一个小地方:在Proteus中鼠标移动到某个对象上面时,该对象的包络矩形将以虚红线进行表示,呃,有点意思,我的软件里面还没有这个功能。算了,今天先把这个小功能加到我的软件里吧。其实,这个表示效果就是我已实现的部分选择效果,即选择效果中,不显示控点的小矩形就可以了。 OK,基本思路清楚了。需要在基类中加入一个变量表示鼠标在其上的标志,即

当然,初始化时,置其为false。画出实现过程

再改造一下TBorder::DrawToCanvas

剩下的事就是在窗口中处理鼠标移动事件,以前已获得鼠标下的对象,现在只需在其中加上相应处理即可。

运行后,初步效果已经显现,即鼠标移动到相应对象上后,该对象的包络矩形以虚红线效果显示。但,鼠标移出后,该虚红框仍在,这样就不好了嘛。因此,需要完成一件事,就是鼠标自对象上移出后,该对象就不用再画出红色虚框了,刚设计的FMouseOverFlag只有两个状态,而现在需要三个状态:鼠标移入、鼠标移出、鼠标在外。简单,改。为增加可读性,添加一个枚举量:

将bool FMouseOverFlag改为CbwMouseOverStatus FMouseOverStatus,其初始化为cmosNone。这样,在开始画出时,PreDraw函数也相应修改:

再次编译,运行。唉,修改了基本头文件,编译一次要400多秒时间。这段时间,把过程记录下来。 OK,运行效果OK。这点小改动,不值得发布新版本,过一段时间再说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值