重画的方法比较麻烦,代码也不好写,一般应该是用异或吧.又一个最好的办法,放一个
shape在picture,visible:=false,在formcreate中加: Shape1.Brush.Style:=bsClear;
这样shape中间就透明了。知道怎么做了吗?mousedown就纪录起始点,mousemove就计算
矩形大小并显示,mouseup就隐藏shape,并真正画图,由于picture不是容器,所以必须
考虑mousemove的范围,可以吧picture,shape放在panel中,还有,shape是可以画圆
椭圆等好多图形的。
以前我是在PDA上面坐这个程序的,更加麻烦。记得里面也是有填充工具的,WINDOWS里面
可以简单调用FLOODFILL API,CE不支持这个api,所以只好自己坐拉,思想很简单,一个点
周围有九个点,用第归算法可以简单实现,但是由于第归会大量占用CE少的可怜的内存,所以
经常会内存不够而中断,速度也慢,所以自己构建堆栈或动态数组压点数据吧。