VB:绘图示例—屏保软件设计1

    这些日子趁着上自习,把VB中我还没有涉及到的领域好好研究一下。看到绘图部分,想想如果用它来激发学生对VB的兴趣,应该效果不错。想当初咱玩GW-Basic的时候,天天写程序就是“摆星星”,摆个正三角,倒三角,四边形等等,乐此不疲。都快30岁的人了,那种痴迷的劲头比今天学生玩那些弱智小游戏有过之而无不及。现在的vb绘图能力比GW-Basic强大多了,正好我们的教材最后一章也是讲VB绘图,只不过因为九年级课时太少,从来没讲过。如果把这一章提到前面来讲,应该是个不错的主意。

 

    VB绘图中主要使用 Line() 和 Circle() 两个函数,用法很简单。画个线条、矩形、椭圆之类的学生可能兴趣不会保持太久。如果指导学生来给自己开发一个小软件,那是很有成就感的啊。我们就来开发一个简单的星爆屏保,也可以在此基础上改进一下,改成矩形变换、小球追赶等等。

    编译一下,将编译成的Projedt1.exe 改名为“我的屏保.scr”,并复制到 c:/windows/system32 目录下,在“显示”窗口的“屏幕保护程序中就可以找到它了,选中它应用一下就OK了,如图:

 

'新建一个VB程序,将form1的BorderStyle(边框风格)属性设为0,即无边框。
'因为对于Form和Textbox等控件,其边框风格在运行时是只读的,所以不能用代码修改,用API可以。
'再向窗体上添加一个时钟控件。其他无需任何改动,复制下面的代码到代码编辑窗口即可

Private  Sub  Form _Resize()
    Me.BorderStyle = 0                '此处应在窗体属性中设置,运行时为只读
    Me.BackColor = vbBlack
    Me.Top = 0
    Me.Left  = 0
    Me.Height = Screen.Height         '将窗体充满屏幕
    Me.Width = Screen.Width
    Timer1.Interval = 1000            '时钟间隔为1秒
End  Sub

Private  Sub  Timer1_Timer()
    Call  star
End  Sub

Private  Sub  star()
    Dim  i As Integer
    Dim  ccode As Integer
    Dim  pointx As Single               '定义中心点x,y
    Dim  pointy As Single
    Dim  col As Single                  '定义随机点x,y
    Dim  row As Single

    Randomize                          '置随机数种子
    Cls
    Scale (0, 0)-(100, 100)           '重定义屏幕座标系统
    pointx = 100 * Rnd
    pointy = 100 * Rnd
    For  i = 1 To  100
        col = 100 * Rnd
        row = 100 * Rnd
        ccode = 15 * Rnd               '取随机颜色
        If  ccode = 0 Then  ccode = 15
        Line (pointx, pointy)-(col, row), QBColor(ccode)   '用随机色画线
    Next
    Me.FillColor = vbWhite            '以下在中心点画一个白色实心小圆
    Me.FillStyle = 0
    Me.Circle (pointx, pointy), 0.2, QBColor(15)
End  Sub

Private  Sub  Form _KeyDown(KeyCode As Integer, Shift As Integer)
    If  KeyCode = 27 Or  KeyCode = 13 Then   '当按下Esc键、或回车键时退出屏保
        Call  Form _DblClick
    End  If
End  Sub

Private  Sub  Form _DblClick()
    Me.BorderStyle = 0                    '当双击屏幕时退出屏保
    Timer1.Interval = 0
    End
End  Sub

 

下载:

http://good.gd/774857.htm

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章