基础不好出来的问题,请高手顺便讲讲原因!我用的是VB。
一个窗体上有一个PictureBox 大小50*50,可随窗体拉大拉小现在画在PictureBox 上画一条直线,长度100问题出现,画的线只有50长,拉大窗体也是50长,如果把窗体拉大到80*80,然后再拉回50*50,这时候再画100长直线,直线却成了80长的即使窗口只有50*50。 这是什么原因呢??我想一画出来,即使窗口小也是完整的线,郁闷啊, 请高手指点一下。还有我应该怎么设置刷新
//////////////////////////代码////////////////////////////////////Prv 是PictureBox的name
Private Sub Command1_Click()
Prv.AutoRedraw = True
Prv.Line (0, 0)-(1000, 300)
Prv.AutoRedraw = FalseEnd SubPrivate Sub Form_Load()
On Error Resume Next
Command1.Left = 0
Command1.Top = 0
Prv.Left = 0
Prv.Top = Command1.Height
Prv.Width = Form1.ScaleWidth
Prv.Height = Form1.ScaleHeight - Prv.Top
End SubPrivate Sub Form_Resize()
On Error Resume Next
Command1.Left = 0
Command1.Top = 0
Prv.Left = 0
Prv.Top = Command1.Height
Prv.Width = Form1.ScaleWidth
Prv.Height = Form1.ScaleHeight - Prv.Top
End Sub
/////////////////////////////完////////////////////////////////////
一个窗体上有一个PictureBox 大小50*50,可随窗体拉大拉小现在画在PictureBox 上画一条直线,长度100问题出现,画的线只有50长,拉大窗体也是50长,如果把窗体拉大到80*80,然后再拉回50*50,这时候再画100长直线,直线却成了80长的即使窗口只有50*50。 这是什么原因呢??我想一画出来,即使窗口小也是完整的线,郁闷啊, 请高手指点一下。还有我应该怎么设置刷新
//////////////////////////代码////////////////////////////////////Prv 是PictureBox的name
Private Sub Command1_Click()
Prv.AutoRedraw = True
Prv.Line (0, 0)-(1000, 300)
Prv.AutoRedraw = FalseEnd SubPrivate Sub Form_Load()
On Error Resume Next
Command1.Left = 0
Command1.Top = 0
Prv.Left = 0
Prv.Top = Command1.Height
Prv.Width = Form1.ScaleWidth
Prv.Height = Form1.ScaleHeight - Prv.Top
End SubPrivate Sub Form_Resize()
On Error Resume Next
Command1.Left = 0
Command1.Top = 0
Prv.Left = 0
Prv.Top = Command1.Height
Prv.Width = Form1.ScaleWidth
Prv.Height = Form1.ScaleHeight - Prv.Top
End Sub
/////////////////////////////完////////////////////////////////////
Dim X As Single
Dim Y As SingleSub LetLine()
prv.Line (0, 0)-(X * prv.Width, Y * prv.Height)
End SubPrivate Sub Command1_Click()
call LetLine
End SubPrivate Sub Form_Load()
On Error Resume Next Command1.Left = 0
Command1.Top = 0
prv.Left = 0
prv.Top = Command1.Height
prv.Width = Form1.ScaleWidth
prv.Height = Form1.ScaleHeight - prv.Top
prv.AutoRedraw = True
X = 1000 / prv.Width
Y = 300 / prv.Height
End SubPrivate Sub Form_Resize()
On Error Resume Next
Command1.Left = 0
Command1.Top = 0
prv.Left = 0
prv.Top = Command1.Height
prv.Width = Form1.ScaleWidth
prv.Height = Form1.ScaleHeight - prv.Top
prv.Cls
call LetLine
End Sub