建议还是用Image来做,有什么特殊原因一定要用Canvas吗?
Canvas的大小改变对ScrollBox根本没有影响.
如果你的画图程序和你的ScrollBox就是同一个程序,那就简单了,
直接调用ScrollBox的Draw方法(假设你已经做好了这个属性)就可以了.
如果是你写的另一个exe程序,那么可以用消息来告诉ScrollBox画图.
你可以在2个exe中先用RegisterWindowMessage注册一个私有的消息,然后
画图程序用SendMessage发送消息给ScrollBox所在窗口,画图参数也
一起包括进去.ScrollBox所在窗口收到消息后,首先看看参数表示的
画图坐标是否超出Image的边界,如果true,就增加它的尺寸(当然,中间
可能要用一个临时bitmap做交换),Image尺寸增加后,ScrollBox会
立即有反映,比如出现滚动条等.
听起来挺麻烦,实际上就2个函数:
RegisterWindowMessage
SendMessage
看看这2个函数的API帮助,非常简单的.
当然,其实说穿了,就是2个exe程序通讯的问题,类似方法很多,比如DDE,
namedpipe,Shared Mem.....