请教:Delphi画图和打印的问题。(200分)

  • 主题发起人 主题发起人 Harryjd
  • 开始时间 开始时间
H

Harryjd

Unregistered / Unconfirmed
GUEST, unregistred user!
导师交代的一个程序,想要根据从数据库里提取的信息,用框图表示出来。
记录的个数是动态的,我想到的办法是在Image上动态定坐标,画框图。
但是有几个问题:
1.超过窗口范围的画不出来。
2.能不能加上两个方向的滚动条,方便查看超过窗口范围的图。
3.Image怎么打印出来啊?是不是不支持啊?
我查了两天资料也没有搞定。请大侠帮助帮助啊。感激不尽。
 
turbopower公司的orchart这个控件可以满足你的要求
在网上搜一下吧
 
我自己就写过一个组建,完全能满足你的要求,不过这是为公司写的,不能外传 :(
不过,我可以向您推荐一本书 陈建春 写的《Visual C++ 高级编程技术——开发实例剖析》
这本书里面详细的介绍了一个绘图系统的全过程,完全可以按照他的方式,用Delphi实现。
况且Delphi里面又有Canvas花布,绘图很方便的,你先看看Delphi花布的用法,在看看我
推荐给你的书,应该能OK的! ^_^
祝您好运!
 
1.用一个IMAGE控件,动态设置它的大小 ,在上面画图
2.用两个SCROLLBAR来滚动查看.设置SCROLLBAR的最大值分别为IMAGE的长和宽,滚动时改变
IMAGE的LEFT和TOP即可。
3.用CANVAS来打印
 
动态设定image的大小也可以,不过我是在画图的时候根据image的width和heightg对图形进行
缩放,比如你的image的高为200,而你图形最大高1000,那么image里的1可以代表图形的1000/200
=5,画图的时候如果要画5个单位,实际上只要画1个单位就可以,简单的换算一下就可以了,
可以写一个过程或函数来实现,而且也不用加scrollbar,如果想看清楚某地方,只需要调用
这个过程或函数在另外一个image中对这个位置重画就行了,
至于打印,用canvas比较好,可以直接打印窗体,不过效果很不好
 
感谢大家的帮助。我又看了看ScrollBox控件,可以加Scrollbar进去。
我再尝试一下ScrollBox能不能比较好地解决。
Thanks a lot. [:D]
 
后退
顶部