求救!
我运行一下程序时,picture1框中没有画出sin函数图形,
但是如果我把画图部分放在InitialPNA_Click()按钮里,然后运行这个程序,再运行InitialPNA_Click(),picture1框中能够正常显示sin函数图形,请问这个为什么?
我现在现在程序启动时就能画一个坐标系在picture1中,请问该如何解决这个问题?
Private Sub Form_Load()
'通用声明模块:
Const pi = 3.14159
Dim a
' Private Sub Command1_Click() 注释:画正弦曲线
'注释: 首先清除picture1内的图形
Picture1.Cls
' 注释:Scale方法设定用户坐标系,坐标原点在Picture1中心
Picture1.ScaleMode = 0
Picture1.ScaleMode = 3
Picture1.Scale (-10, 10)-(10, -10)
'注释: 设置绘线宽度
Picture1.DrawWidth = 1
'注释: 绘坐标系的X轴及箭头线
Picture1.Line (-10, 0)-(10, 0), vbBlue
Picture1.Line (9, 0.5)-(10, 0), vbBlue
Picture1.Line -(9, -0.5), vbBlue
Picture1.ForeColor = vbBlue
Picture1.Print "X"
'注释: 绘坐标系的Y轴及箭头线
Picture1.Line (0, 10)-(0, -10), vbBlue
Picture1.Line (0.5, 9)-(0, 10), vbBlue
Picture1.Line -(-0.5, 9), vbBlue
Picture1.Print "Y"
'注释: 指定位置显示原点O
Picture1.CurrentX = 0.5
Picture1.CurrentY = -0.5
Picture1.Print "O"
'注释: 重设绘线宽度
Picture1.DrawWidth = 2
' 注释:用For循环绘点,使其按正弦规律变化。步长值很小,使其形成动画效果
For a = -2 * pi To 2 * pi Step pi / 6000
Picture1.PSet (a, Sin(a) * 5), vbRed
Next
'注释: 指定位置显示描述文字
Picture1.CurrentX = pi / 2
Picture1.CurrentY = -7
Picture1.ForeColor = vbBlack
Picture1.Print "正弦曲线示意"
End Sub
Private Sub InitialPNA_Click()
End Sub
问题点数:50、回复次数:5Top
1 楼maskdata(凋零|不经意的走过只留下浅浅的足迹…)回复于 2004-12-04 15:50:08 得分 10
你试试在form_load里先把窗体show出来,然后再运行下边的语句试试Top
2 楼pweixing(幸运星)回复于 2004-12-04 16:00:35 得分 10
Me.Show
加在最前面就好了!
呵呵,form都没有show,怎么画???Top
3 楼thirdapple(.:RNPA:.陨落雕 - 芝兰宝树)回复于 2004-12-04 16:11:06 得分 10
Picture1.AutoRedraw = TrueTop
4 楼aohan(aohan)回复于 2004-12-04 16:19:55 得分 10
顶,呵呵Top
5 楼ylsn2004(碧海青天)回复于 2004-12-04 17:27:42 得分 10
load 事件是窗体处于加载状态的开始标志,窗体一旦进入加载状态将执行load事件的过程代码,此时窗体上所有的控件均被创建并加载,窗体也已经形成,只是处于不可见状态.解决的方法有两种:
1)
Private Sub Form_load()
Form1.show '最开始加上这句
.... '你的画sin(x)语句
End Sub
或者
2)
Private Sub Form_Activate()
...... '你的画sin(x)语句
End Sub
Top




