L lujun Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-09 #3 无非就是这样: 首先禁止进行屏幕显示更新,一次过画完全部的东西,然后让系统进行刷新。 这种功能,自己做会比较麻烦,不如考虑使用IOComp,人家已经做得好好的, 何必事事自己开发呢?
娃 娃娃 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-10 #4 一个最简单的方法,不知道你用的是Delphi几, 在Form的OnCreate中加入 Form1.DoubleBuffered 即可以搞定了。 不过可能有负作用的^_^
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-11 #5 用Polyline或者PolyDraw来画(Windows API函数),这样比多次调用MoveTo和LineTo效率 高得多,具体是哪一个记不清了,得回去看一下《Windows95 程序设计》(Charlez Petzold) 的大作。
用Polyline或者PolyDraw来画(Windows API函数),这样比多次调用MoveTo和LineTo效率 高得多,具体是哪一个记不清了,得回去看一下《Windows95 程序设计》(Charlez Petzold) 的大作。
K kingwin Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-17 #6 bcb6和delphi6好像都有这个问题,但是在bcb5和delphi5里就不闪(同样的代码),我也碰到过,实在不行你就用form->canvas画,不会闪。
F ForestBen Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-25 #7 象娃娃说得,可以使用双缓冲机制,但是不一定使用改熟悉,可以自己控制。 不过用现成的东西还是容易很多,如果不是很严格要求的,也可以用用。
K kerbcurb Unregistered / Unconfirmed GUEST, unregistred user! 2003-11-07 #11 试一试 TChart,我认为挺好 画线: Delphi: for x := Xmin to Xmaxdo Chart1.Series[0].AddXY(x,y,'',clTeeColor); BCB: for(x = Xin;x < Xmax;x += dx) Chart1->Series[0]->AddXY(x,y,"",clTeeColor); 画出y随x变化的曲线
试一试 TChart,我认为挺好 画线: Delphi: for x := Xmin to Xmaxdo Chart1.Series[0].AddXY(x,y,'',clTeeColor); BCB: for(x = Xin;x < Xmax;x += dx) Chart1->Series[0]->AddXY(x,y,"",clTeeColor); 画出y随x变化的曲线