比如在PictureBox空间内画一个矩形,PictureBox白色背景,矩形蓝色。画完后鼠标在矩形上面滑过稍作停留,那么鼠标停留的地方就变成了一条不长不短的白线,我知道这是背景被重绘了,并且窗口被其他窗口挡住后再现时,矩形都没有了,这种情况怎么处理。
我有个程序需要绘制大约400多根线的方格,用vb的线条控件显然不现实,我写了画线函数,为了避免以上情况我用了中断,100MS重绘线条一次,对于这可以预知的线条坐标用中断处理还是勉强可以接受的。麻烦的是这400多跟线构成成的200*200个小方格里的颜色要怎么重绘它呢。用中断就完蛋了。怎么记忆原来的图像,空间里有什么事件可一处理吗。
在线等
添加图片
vb绘图被鼠标擦去(图像重绘控制)
或者直接在设计界面把Picture1的AutoRedraw属性设为True即可 补充:把AutoRedraw设为True后,你那些所谓的中断、重绘的语句就可以统统不用了,否则就会一团黑了。AutoRedraw的意思,就是自动重绘!不管是因为鼠标移动、被其他窗口挡住还是最小化窗口等等,已画的图形都不会消失!
在VB中如何实现图象的重绘,(急)
1.画个picturebox,取名为“p”,scalemode属性设pixel.再加个定时器timer1,enable属性设false,interval随便,取400吧.2.假定有200个数据存在data()数组,以下代码就可在p中动态移动数据曲线了。3.代码如下:Dim sn As Long Dim data(0 To 200) As Long Private Sub Form_Load()For k = 0 To ...
vb 帮忙解释一下这段简单的图象旋转代码每句的作用
ScaleMode = 3 '把鼠标的屏幕坐标转换为Form1的客户坐标 Picture1.AutoRedraw = True '自动重绘picture1内的内容,即控件经过picture时,仍保留原图像 Picture1.ScaleMode = 3 '图像度量单位 w = Picture1.ScaleWidth '设置图像内部的水平宽度 h = Picture1.ScaleHeight '设置图片的垂直高度 ReDim p...
vb如何把image图片缩放后给picturebox但是picturebox尺寸不会还原_百度...
最重要的功能是可以在它上面绘图。但是PictureBox只有自动适应图片大小的属性,而没有图片适应控件的属性。原题要“把任意图片缩放到固定大小的PictureBox并保持图片原来的宽高比”,也就是加载以后图片不能变形。这样比较繁琐一些,但是效果很好,仅供你参考。准备:在窗体上放置一个PictureBox控件一个Image...
vb.net 画线再画保留以前画得
'鼠标拖动时改变列表最后一条直线(也即当前直线的第二个端点)Lines(Lines.Count - 1).Point2 = e.Location Refresh() '刷新窗体 End Sub '在Form的Paint事件中绘制所有直线,每次Form1重绘时都会触发Paint事件 'PS: 也可以通过重写OnPaint方法来达到类似的效果 Private Sub Form1_Paint(sender ...
VB6.0中,DoEvents函数是将控制权交给系统,可这有什么好处呢?
一般情况下,我们计算时候程序是全速运行的,CPU只管你程序中的运算(如果有),而把其他操作(例如对你窗体的重绘)搁置在后面。于是你就无法在计算时候实时看到你程序的变化(所谓计算不一定是数学计算i=i+1,也可以是绘图计算)。如果你加入doevents那么操作系统会在这时先处理一下被搁置的事情(如...
什么是VB?什么是VC?它们有什么区别?
9、了解最常用的Windows消息:如WM_PAINT(重绘窗口),鼠标按下、弹起、移动,初始化对话框,等。 10、了解最简单的GDI(图形设备接口):写文字、画框、画点、画线、画圆,设置画笔、画刷。 11、熟悉最常用的MFC类: CWnd CDocument CView CDC CDialog CWinApp CGdiObject及子类 CString、CPoint、CRect、CSize等简单...
VB中窗体绘图在最小化后消失,如何解决?
由于您的图是任意的,所以您可以通过使用一个全局的数组或数据结构存储在Form上的图像信息,然后在Form_Paint方法中读取图像信息并重绘。如果Form上绘制了新的图像,那么您可以将这个图像信息添加到全局的数组或数据结构中,以保证在Form上始终是正确的图像。另外:VB.NET2008中的AutoRedraw问题 .NET 2009-...
怎么写好VB
用它。这样做的原因是因为只有在模块中的函数或变量被调用时,VB才将模块加载到内存中;当VB应用程序退出时,才会从内存中卸载这些模块。如果代码中只有一个模块,VB就只会进行一次加载操作,这样代码的效率就得到了提高;反之如果代码中有多个模块,VB会进行多次加载操作,代码的效率会降低。 17. 使用对象数组 当设计...
VB.NET怎么可以限制窗体不能被鼠标随便拖动位置
首先在窗体类中声明API:Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr Declare Function RemoveMenu Lib "user32" (ByVal lngHmenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer 其次声明API参数...