一个工业控制管道流动控件的实现
http://tech.ddvip.com 2008年03月27日 社区交流
内容摘要:开发工控软件很重要的一个部分就是图形系统。很多组态系统提供了丰富的图形组态功能,能够通过他们提供的图形库完成各种复杂的图形开发,而且效果非常好。比如表记,LED,趋势,流动控件等。
首先是管道,管道简单考虑就是横和竖两种(至于您有时间可以考虑那些七七八八转弯的情况),那么我们这里可以把管道定义成两种模式
typedef enum _FlowPattern 然后是里面的水流的流动方向,横向的可以为由左向右和由右向左,竖向的可以分为由上向下和右下向上,这样我们就可以抽象里面的流动方向:
{
FP_HORIZONTAL = 0,
FP_VERTICAL = 1
}FLOWPATTERN;typedef enum _DirectionType
{
LEFT_TO_RIGHT = 0,
RIGHT_TO_LEFT = 1,
TOP_TO_BOTTOM = 2,
BOTTOM_TO_TOP = 3
}DIRECTIONTYPE;
下面就是管道的绘制了,如何绘制才能达到视觉上的管道效果呢。如果是一个平面矩形是不能看起来视觉效果的管道的。参考了网络上面的一些渐变的处理方法后发现,其实我们的管道可以用这个方法来实现。如果管道的边和中央用两种不同的颜色,这两种颜色为一种颜色近似的值,一种深,一种浅。当颜色处理由边向中央绘制采用的方法为:浅—深—浅时,这样我们可以产生视觉效果的管道的凹表面,反过来则能够产生管道的凸表面。现在网络上面如何进行渐变绘图的方法实例很多,这个是没有问题的。
然后就是我们要考虑的流动的设计了。在我们平常见到过的一些流动控件中(收费控件)流动的形状可以为多种,有的是矩形,有的是小三角形等。而流动的表现就是在管道的中间绘制一些我们上面举例的小图形等。这样,我们为这些单个的小图形设计一个功能类,然后在类中间实现不同的单个小滑块进行绘制,如果我们的管道有N个这样的小滑块组成,如果我们进行动态的绘制小滑块,那么不就会产生视觉上的滑动了。
来源:vckbase 作者:戚高 责编:豆豆技术应用
- VC/VC++按钮设计专题
- VC/VC++ 菜单专题
- VC/VC++ 工具条专题
- VC/VC++ 对话框教程
- VC/VC++ 报表教程
- VC/VC++ 控件
- VC/VC++ GDI
- Visual Studio 2008
- VC/VC++ MFC教程
- VC/VC++ QQ
- VC/VC++ Socket编程
- VC/VC++ 钩子编程
- TangramMini组件应用教程
- VC/VC++ 窗体
- VC/VC++ ADO 教程
- Windows CE 教程
- VC/VC++ DLL(动态链接库)编程
- VC/VC++ PDFlib
- VC与MATLAB编程
- VC/VC++ DirectShow 教程
- VC++入门视频教程
- VC/VC++ COM组件设计与应用
- VC/VC++ ATL
- VC/VC++ WTL
- VC/VC++ 定制调试诊断工具和程序
- VC/VC++ 进程
- VC/VC++ Win32
- VC/VC++ WMI
- VC/VC++ 消息
- 更多VC/VC++专题……