什么时候叫重绘控件?

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:35:25
Control.Paint事件在“在重绘控件时发生”。
什么叫重绘控件?什么时候会发生重绘控件?
Form.Paint事件会在我最大化最小化或者改变窗体的大小的时候发生吗?

其实window整个操作系统都绘制出来的
当窗口移动,变化等,window会对部分或全部画面进行重新绘制,其实重绘无时不在

在一个对象被移动或放大之后,或在一个覆盖该对象的窗体被移开之后,该对象部分或全部暴露时,此事件发生。
如果需要代码中各种图形方法的输出,则 Paint 事件过程就很有用。使用 Paint 过程,可以确保这样的输出在必要时能被重绘。
Private Sub Form_Paint ()
Dim HalfX, HalfY ' 声明变量.
HalfX = ScaleLeft + ScaleWidth / 2 ' 设置到宽度的一半。
HalfY = ScaleTop + ScaleHeight / 2 ' 设置到高度的一半。
' 画一个菱形。
Line (ScaleLeft, HalfY) - (HalfX, ScaleTop)
Line -(ScaleWidth + ScaleLeft, HalfY)
Line -(HalfX, ScaleHeight + ScaleTop)
Line -(ScaleLeft, HalfY)
我尝试过这样使用
我在表单的 picture 属性设好一个图, 成为表单的背景图,
但是当表单的大小拉大, 超过图案大小时, 就露出难看的空白,
请问如何设定, 才能让背景图随表单的大小而 stretch (伸展开来)
Private Sub Form_Paint()
Me.PaintPicture Me.Picture, 0, 0, ScaleWidth, ScaleHeight
End Sub