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

 

 

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