我的目的,就是拖动我自己定义的一些控件放到ScrollBox上作图,这些控件继承自TGraphicControl,在他们自己的paint事件中画直线,方框之类的形状。如果我想用高精度的坐标,应该可以在这些控件里面设置。
但是,现在我并没有转换坐标,现在我的问题是,我的两个控件本来是链接对齐的,一用scrollbox的scaleby把这两个对齐的控件放大之后,如果其中一个落入非可视区(比如下图的方框,放大后落入非可视区)他们就对不齐了,因为方框的对齐点坐标(left,Top+Height/2)并不跟着方框的Left,Top,Height,Width属性变化,对齐点的坐标是在Paint事件里定义的。
对齐的 scaleby放大之后 对不齐了
-----■ -> ----- ■
我想问题可能是那个方框控件落入ClipRect之外,应为windows只是自动重画ClipRect之内的对象,所以方框没有被重画,所以paint事件没有触发,自然paint事件中对对齐点坐标的赋值没有执行。但是我就算在放大之后,立即调用方框的update(),也不能使对齐点得到刷新....不知道victor怎么认为?而且这要怎么解决呢?
--------------------next---------------------
阅读(1510) | 评论(0) | 转发(0) |