一个地图标记控件的开发 (2)

一个地图标记控件的开发

生成2000个矩形后:

一个地图标记控件的开发

装载2000个矩形后

删除生成的2000个矩形,再次装载2000个矩形后,出现操作错误:

一个地图标记控件的开发

五, 总结

1,原控件TRotateImage从TGraphicControl继承,不能直接封装ActiveX控件,只能封装为activeForm控件。因为多了一个Form,造成控件操作时背景色不透明等一系列问题。因此将TRotateImage改为从TCustomControl继承非常关键。

2,控件的背景色透明通过重写CreateParams和WMEraseBkGnd方法实现,但也造成控件在移动或旋转时背景不刷新也不透明的问题,最终也没能解决。好在控件操作完毕后显示正常。

3,控件的移动一开始采用Perform(WM_SYSCOMMAND, $F012, 0)这个方法,写起来简单。但发现移动完毕也不刷新背景,程序也无法控制。因此改在mousedown,mousemove,mouseup事件响应中处理移动,及时刷新控件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdsds.html