資源描述:
《vb屏幕保護程序設計》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、屏幕保護程序設計屏幕保護程序簡單功能實現2.5.1文字單向移動功能實現本屏幕保護程序的主體功能是文字在屏幕左右移動,首先需要在屏幕上顯示文字。對于VisualBasic程序而言,在屏幕上顯示文字,實際上是顯示在某個窗口上。顯示文字可以采用兩種方法:第一種方法是直接在窗口某個位置輸出文字,這種方法需要調用某個函數或窗口對象的方法并指定坐標,如果改變其位置,則需要在新位置重新輸出文字,并且將原來位置的文字擦除,這種文字輸出在設計時看不到效果,只有運行程序時才能看到效果;第二種方法是采用某個對象顯示文字,文字的移動僅僅需要改變該對象的位置即可,并且在設計時就能夠看到效果。這
2、里采用第二種方法顯示文字,即采用前面介紹的標簽對象顯示文字。創(chuàng)建一個新的VisualBasic工程,系統(tǒng)自動創(chuàng)建一個窗口對象Form1,并顯示Form1的對象設計窗口。向窗口Form1上拖放一個標簽對象,系統(tǒng)自動命名為Label1(最后一個字符為數字1,倒數第二個字符為小寫字母l。VisualBasic集成開發(fā)環(huán)境自動以數字后綴對新創(chuàng)建的控件對象命名,對下一個標簽命名為Label2),選中該對象,定位到屬性窗口,修改Label1對象的屬性:lCaption:歡迎使用VisualBasiclFont:宋體,二號字給Cpation賦值的內容實際是一個字符串,在屬性窗口內賦
3、值時不能在其前后加上雙引號。如果在代碼窗口內賦值則需要加上雙引號。調整Label1的長度和高度,使得文字正好顯示在一行。圖2.4標簽Label1的設計效果標簽對象Label1在窗口Form1上的位置由其Left和Top屬性確定,如果需要在水平方向移動,實際就是改變其Left屬性。先采用人工移動的方式,即運行時每用鼠標點擊一次文字,文字向右移動一定的距離。運行時的鼠標點擊變成了Windows系統(tǒng)的消息,并轉換成VisualBasic中的事件,在哪個對象上點擊,哪個對象就會接收到這個點擊事件,VisualBasic自動調用特定的某個子程序。VisualBasic用Clic
4、k表示鼠標點擊事件(鼠標的一次點擊,也稱為單擊事件),如果在Label1對象上單擊,則Label1對象接收到這個單擊事件,并自動調用子程序Label1_Click。?為了編寫子程序Label1_Click,需要進入代碼窗口,方法有三個:l選擇工程資源管理器窗口上方最左側圖標(ViewCode)l選擇“View”菜單下“Code”子菜單l雙擊Form1的對象設計窗口在代碼窗口上方的兩個組合框中,分別選擇對象Label1和事件Click,則自動產生該子程序的框架。由于Click事件是標簽對象的默認事件,只要選擇了Label1,就會自動產生該子程序框架。另外,如果在對象設計
5、窗口中直接雙擊Label1對象,進入代碼窗口后自動產生該子程序框架。定位到子程序框架內部,輸入代碼如下:PrivateSubLabel1_Click()Label1.Left=Label1.Left+100EndSub這句代碼的含義是每次點擊Label1對象,其Left屬性在原有基礎上增加100,實際效果就是向右移動100,單位就是前面介紹的Twip(1/1440英寸)。選擇“Run”菜單下的“Start”子菜單或直接點擊工具欄上的小圖標,運行該程序。圖2.5即為運行開始以及單擊文字幾次以后的文字位置。圖2.5標簽Label1的運行效果如果能夠在某個特定的時間內自動執(zhí)
6、行上面這樣的子程序,就可以實現文字的自動移動。VisualBasic提供的定時器對象可以實現這樣的功能。切換到對象設計窗口,有兩種方法:l選擇工程資源管理器窗口上方中間圖標(ViewObject)l選擇“View”菜單下“Object”子菜單向窗口Form1上拖放一個定時器控件,自動命名為Timer1,修改其屬性:lInterval:100lEnabled:True雙擊Timer1對象,進入代碼窗口并自動產生子程序框架Timer1_Timer,將Label1_Click子程序中的代碼拷貝到子程序Timer1_Timer中。PrivateSubTimer1_Timer(
7、)Label1.Left=Label1.Left+100EndSub重新運行該程序,則文字會自動向右移動,如果需要改變文字移動的速度,可以改變Timer1對象的Interval,也可以修改上述代碼中的移動量100。對于上面的兩個子程序,都是由系統(tǒng)在接收到相應事件后自動調用的,程序員自己編寫的代碼中并沒有調用它們的地方。這樣的事件處理子程序除了由系統(tǒng)自動調用外,也可以由程序員指定調用。例如,上述兩個子程序的內容實際是一致的,沒有必要重復寫兩次,完全可以由一個子程序調用另外一個子程序,將上述程序修改如下:PrivateSubLabel1_Click()T