控件加载时的Resize问题?(125分)

N

nibble

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个控件,在它的Paint事件中需要画一幅图,画图所需的事件较长(大概2-3秒)。
我把这个控件放在主窗体上,并且把它的Align属性设置为alClient,希望它能够自动占用
窗体上所有的空间(主窗体的WindowState属性是wsMaximized)。
但是,程序启动时,发现控件先触发Paint事件,然后再触发Resize事件,由于Paint事件
中画图的事件较长,导致程序启动时控件的边界有个很明显的缩放过程,非常难看。请问
有什么办法可以解决这个问题?
 
在最大化之后才把图片显示出来
 
问题如何准确地在最大化时得到通知呢?
 
你可以定义一个事件,比如ONBeforePaint(Sender:Tobject;var NeedPaint:Boolean) ,
在paint之前,调用此事件,若NeedPaint返回True,则画,否则不画,这样就可以外部控制了.
 
顶部