AutoRedraw的问题

「已注销」 2009-07-03 06:04:50
请看以下代码,执行了Me.AutoRedraw = False以后,我尝试用其他窗口遮挡显示的文字,发现文字没有消失,不知道怎么回事?我的印象中Me.AutoRedraw = False的时候显示的文字被遮挡或最小化窗体就会消失的。


Option Explicit

Private Sub Form_Load()
Me.AutoRedraw = True
Print "文字"
Me.AutoRedraw = False

End Sub
...全文
65 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2009-07-03
  • 打赏
  • 举报
回复
多谢!
lyserver 2009-07-03
  • 打赏
  • 举报
回复
TO Veron_04:
当设置了AutoRedraw=False后,是无法直接使用Cls清除掉原来设置AutoRedraw=True后绘制的内容的。
贝隆 2009-07-03
  • 打赏
  • 举报
回复
要文字消失,使用Cls方法即可,不需要用AutoRedraw
clear_zero 2009-07-03
  • 打赏
  • 举报
回复

Option Explicit

Private Sub Form_Load()
Me.AutoRedraw = True
Print "文字"
'此处打印的文字时 autoredraw=True 即此处打印的文字 具有自动重绘.
Me.AutoRedraw = False
Print "文字2" '此处打印的文字时 autoredraw=False 即此处打印的文字 不具有自动重绘.
End Sub
lyserver 2009-07-03
  • 打赏
  • 举报
回复
如果想部分清除,可以在me_paint事件里使用line+背景色绘制一个矩形遮住原来的文字。
lyserver 2009-07-03
  • 打赏
  • 举报
回复
你如果想隐藏在AutoRedraw=True后绘制的文字,可以用以下方式:
Me.AutoRedraw = True
Me.Cls
Me.AutoRedraw = False
当然,还可以使用vbNotXorPen绘图模式,这样在同一个坐标点上重复绘制同样的内容后,会擦除掉原来的内容。
huyongsc 2009-07-03
  • 打赏
  • 举报
回复
你不能把Me.AutoRedraw = True 后输出,
Option Explicit

Private Sub Form_Load()
Me.AutoRedraw = True
Print "文字"
Me.AutoRedraw = False
Print "文字1"

End Sub

"文字1"消失,"文字"显示
mhm0517 2009-07-03
  • 打赏
  • 举报
回复
Option Explicit 

Private Sub Form_Load()
Me.AutoRedraw = True
Print "文字"
'此处打印的文字时 autoredraw=True 即此处打印的文字 具有自动重绘.
Me.AutoRedraw = False
Print "文字2" '此处打印的文字时 autoredraw=False 即此处打印的文字 不具有自动重绘.
End Sub
mhm0517 2009-07-03
  • 打赏
  • 举报
回复

Option Explicit

Private Sub Form_Load()
Me.AutoRedraw = True
Print "文字" '此处打印的文字时 autoredraw=True 因此不消失
Me.AutoRedraw = False
Print "文字2" '此处打印的文字时 autoredraw=False 因此消失
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧