酸 酸橙子 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-24 #1 我在Image控件上绘制"人口树"(不明白没关系),希望能够在MouseMove的时候高亮显示一块 矩形区域,因此需要不断重绘当前区域。现在问题是:整个画面闪烁的厉害。不知哪位高手 有好的解决办法?
B BlackDragon Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-24 #2 procedure TForm1.FormCreate(Sender: TObject); begin DoubleBuffered:=true; end;
Y yr220 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-24 #3 如果只是简单的图片的变化或者翻转,我建议你用多个小的Timage在上面用,用loadfrom**和 visible的办法就可以了, 不要试着来控制gdi下image的重绘,它太容易被其他东西影响了. OnMouseMove 中可以试一下
如果只是简单的图片的变化或者翻转,我建议你用多个小的Timage在上面用,用loadfrom**和 visible的办法就可以了, 不要试着来控制gdi下image的重绘,它太容易被其他东西影响了. OnMouseMove 中可以试一下
M menxin Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-24 #4 doublebuffered应该可以解决问题。 mousemove里是怎么写的,可以给大家看看是否可以优化
D dadabox Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-24 #5 任何一个继承自TWinControl的类都有DoubleBuffered这个属性,如果你的IMAGE放在PANEL 上,你就将Panel的DoubleBuffered设为TRUE,如果在FORM上,就设FORM的。即可。
任何一个继承自TWinControl的类都有DoubleBuffered这个属性,如果你的IMAGE放在PANEL 上,你就将Panel的DoubleBuffered设为TRUE,如果在FORM上,就设FORM的。即可。
K kingwoofoo Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-24 #6 先在内存中画,再将图刷过来。Image既要刷新鼠标移动,又要画图当然要闪了。 如果你不明白可以看看《window编程》一书,有详细解答,不过代码是c的
D delnus Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-25 #7 设置TWinControl的派生类的doubleBuffered属性是有用,但是在一个TGraphicControl的 派生类中如何使其不闪烁?我写了一个控件TColck=Class(TShape),重绘时也发生了闪烁 问题。我有一个想法,可不可以在TGraphicControl的某个派生类中,添加doubleBuffered 属性?
设置TWinControl的派生类的doubleBuffered属性是有用,但是在一个TGraphicControl的 派生类中如何使其不闪烁?我写了一个控件TColck=Class(TShape),重绘时也发生了闪烁 问题。我有一个想法,可不可以在TGraphicControl的某个派生类中,添加doubleBuffered 属性?
酸 酸橙子 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-25 #8 多谢各位大虾的鼎力相助!我试过在FormCreate()中添加DoubleBuffered:=true;可惜效果 不是很明显。正如dadabox所言:“任何一个继承自TWinControl的类都有DoubleBuffered 这个属性。”但是Timage是继承自TGraphicControl,没有DoubleBuffered,即便是改变其 容器的DoubleBuffered属性,又能对它本身起什么明显作用呢?还有别的什么途径吗? yr220,所说的用多个小的Image来做,在我这里不现实。因为我这个是带坐标的,整个 画面上的小矩形根据数据库里面的数据,大概有200个,一个个的画我受不了,系统估计也 受不了。
多谢各位大虾的鼎力相助!我试过在FormCreate()中添加DoubleBuffered:=true;可惜效果 不是很明显。正如dadabox所言:“任何一个继承自TWinControl的类都有DoubleBuffered 这个属性。”但是Timage是继承自TGraphicControl,没有DoubleBuffered,即便是改变其 容器的DoubleBuffered属性,又能对它本身起什么明显作用呢?还有别的什么途径吗? yr220,所说的用多个小的Image来做,在我这里不现实。因为我这个是带坐标的,整个 画面上的小矩形根据数据库里面的数据,大概有200个,一个个的画我受不了,系统估计也 受不了。