vb程序設計實例_第1頁
vb程序設計實例_第2頁
vb程序設計實例_第3頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、vb 程序設計實例2009-5-22 15:37提問者: 淘淘的某在 | 懸賞分: 20 | 瀏覽次數: 1688 次 編寫程序,設銀行定期存款的年利率為: 1年期 2.25% ,2年期 2.43% ,3年期 為 2.70% ,5 年期為 2.88% (不記復利)。今有 X 元,5年以后使用,共有如下 6 中存法: 存一次 5 年期; 存一次 3 年期,一次 2 年期; 存一次 3 年期,兩次 1 年期; 存兩次 2 年期,一次 1 年期; 存一次 2 年期,三次 1 年期; 存五次 1 年期 .分別計算各種存法 5 年后到期的本息合計,如圖所示2009-5-22 17:06 最佳答案Priv

2、ate Sub Form_Activate()'1年期2.25%,2年期 2.43% ,3年期為 2.70%,5年期為 2.88%(不記復利) 今有 X 元,5 年以后使用,共有如下 6 中存法:Const x1 As Double = 0.0225, x2 As Double = 0.0243, x3 As Double = 0.027, x5 As Double = 0.0288Dim x As Doublex = Val(InputBox("")Print "存一次 5年期,5 年后到期的本息合計 " ss(x, 5, x5)Print &

3、quot;存一次 3年期,一次 2年期,5 年后到期的本息合計 " ss(ss(x, 3, x3), 2, x2)Print "存一次 3 年期,兩次 1 年期,5 年后到期的本息合計 " ss(ss(ss(x, 3, x3), 1, x1), 1, x1)Print "存兩次 2 年期,一次 1 年期,5 年后到期的本息合計 " ss(ss(ss(x, 2, x2), 2, x2), 1, x1)Print "存一次 2年期,三次 1年期,5年后到期的本息合計 " ss(ss(ss(ss(x, 2, x2), 1, x1)

4、, 1, x1), 1, x1)Print "存五次 1年期,5年后到期的本息合計 " ss(ss(ss(ss(ss(x, 1, x1), 1, x1), 1, x1), 1, x1), 1, x1)End SubPrivate Function ss(ByVal a As Double, b As Integer, c As Double) As Double ss = a + a * c * bEnd FunctionPrivate Sub Form_Load()AutoRedraw = TrueEnd Sub如下Dim str As StringPrivate Sub

5、 Command1_Click()str = Text1.SelTextText1.SelText = ""Command3.Enabled = TrueEnd SubPrivate Sub Command2_Click()str = Text1.SelTextCommand3.Enabled = TrueEnd SubPrivate Sub Command3_Click()Text1.SelText = strEnd SubPrivate Sub Command4_Click()EndEnd SubPrivate Sub Command5_Click()Form2.Sho

6、wForm1.HideEnd SubPrivate Sub Form_Load()Command1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = TrueEnd Sub如何讓Commandl-功能鍵的目標轉向textl 內的內容我點的時候必須 把 text1 里面的內容去選定后才能 進行操作如何讓他自己選定為 text1 的內容- - !上面的Comma nd剪切功能Comma nd復 制功能Comma nd粘 貼功能Comma nd退出-!三、利用VB三維面板控件設計流動條200

7、0-09-15 00:00:00 王金柱 yeskyVB提供了一個三維面板控件,利用這個控件可設計圖形效果的立體界面,從而使 應用程序的界面顯得更生動、美觀,該控件還可以設置各種形式的背景,然后在背景上 顯示各種形式的字符,令人感興趣的是,使用三維面板控件,還可設計我們經常在安裝 程序中看到的表示安裝進程的流動條,并可顯示進程百分比,改變流動條的顏色等。一、介紹屬性FloodColor :確定流動條的顏色,缺省為藍色。FloodPercent :顯示當前過程如流動條進行的百分比,參數改變時顯示的百分數和 流動條的面積改變,設為一整型值,取值范圍是0100。FloodShowpct :決定是否在

8、三維面板控件上顯示百分比,是一個邏輯值。為True時顯示,為False時不顯示。FloodType :表示用戶對三維面板控件的使用方式。可取值有6個,如下所示:0缺省設置1表示流動條方向從左到右2表示流動條方向從右到左3表示流動條方向從上到下4表示流動條方向從下到上5表示使用指定的顏色從圓心向外畫圓二、流動條設計如果在 Windows3 ? X下,工具箱中不存在三維面板控件,可選擇File菜單中的“AddFile進行添加,在彈出的對話框中找到WindowsSystem 目錄,然后選定Threed ?vbx文件即可,如果使用 VB4.0,需在Tools菜單中選擇 Custom Controls

9、命令,選定 Sheridan 3d Controls 項,按OK按鈕,可在工具箱中增加三維面板控件。啟動VB3 ? 0 ,在窗體中畫一水平方向的長方形三維面板控件,按F4,在屬性窗口中設置其 Name 為 P3d、Bevellnner 為 2 Raised、FloodType 為 1、FloodshowPct 為True,再在窗體中畫一個按鈕 Command1,雙擊該按鈕,鍵入下面的代碼:Sub Comma nd1_Click()P3d ? floodpercent=OFor N %=1 To 100If N % $#62;100 THENExit SubEnd IfP3d ? FloodPe

10、rcent=N %Next I %End Sub按F5 ,運行該程序,點擊 Comma nd按鈕,即可看到流動條效果。四、使用VB設計具有動感的命令圖標欄2000-09-15 00:00:00 張嶸 VB 編程樂園p> 我們在使用 Word、Excel等Windows應用程序時,經常會見到在程序界面頂端 有一行 立體式”圖標按鈕。當用鼠標按下某一個圖標按鈕時,程序就執(zhí)行相應的操作。 這一行立體式”圖標按鈕通常就稱作命令圖標欄或工具條。命令圖標欄一般提供一些最常用的命令,供用戶快速地取用,并且它設計時采用了立體式”按鈕,操作時會產生凹下去和凸出來的 動感”,筆者這里就談談如何用 VB來建立

11、具有 動感”的命令圖標欄。使命令圖標具有 動感”是依靠對命令圖標的不同狀態(tài)的圖像切換來獲得的。當鼠標按下時,圖標顯示為凹入狀態(tài)的圖像;當松開時,圖標顯示為凸出狀態(tài)的圖像。通過圖 像切換就使命令圖標具有了動感”具體設計步驟如下:1。 首先在窗體中創(chuàng)建一個圖片框(Picture Box),將其Align屬性置為1,使圖片 框固定在窗體上端,調節(jié)其寬度使其能安置圖像或命令按鈕。2。 在圖標框內創(chuàng)建若干個圖像框(Image Control),設置其Autosize = True, Picture 屬性在程序運行中設置。3。 編寫程序代碼。這里假設某個命令圖標凸出狀態(tài)的圖像文件名為"zrup.

12、bmp",凹入狀態(tài)的圖像文件名為"zrdown .bmp "。窗體裝入時:Sub form load ()Imagel.picture = Loadpicture (" zrup.bmp ")'命令圖標凸出End sub鼠標按下時:Sub Imagel mousedown (Button As Integer Shift As Integer , X As single , Y As single )Imagel.picture = Loadpicture (" zrdown.bmp ")'命令圖標如下:En

13、d sub鼠標松開時:Sub Imagel mouseup(Button As Integer ,Shift As Integer ,X As single,Y As single )Imagel.picture = Loadpicture (" zrup.bmp ") '命令圖標凸出End sub以上只能使命令圖標具備凹下去的功能, 但當在按鼠標按鈕不放,并拖曳鼠 標使光標移到外頭,原來圖標仍然處于凹下狀態(tài)。要使其自動凸起,就要編寫如 下代碼:Sub Imagel-mouseup(Button As Integer,Shift As Integer,X As si

14、ngle,Y As single)Select Case ButtonCase 1If X$#60;=0 or X$#62;Imagel.Width or Y$#60;=0 orY$#62;Imagel.Height thenImagel.picture=Loadpicture("zrup.bmp") 凸出'elseImagel.picture=Lo icture("zrdown.bmp") 凹入'End ifEnd selectEnd sub通過以上三步驟就可以建立具有 “動感”的命令圖標,若具有多個命令圖標 時,可通過創(chuàng)建圖像控制數組

15、來實現。 BMP 是常見的一種圖像格式,也可以使 用VB提供的豐富的不同狀態(tài)的命令圖標位圖文件,它在VB的子目錄 bitmaps中。五、實現窗體內部的左右移動'分割區(qū)的寬度Private Const SPL99vTERWIDTH = 45'最小移動寬度Private Const HMIN = 15'picLeft 和 picRight 的寬度相對于窗體的比例Private Percent As Single'正在拖動的標志Private DragFlag As Boolean'每次拖動后需要重排窗體上的控件Private Sub RedrawMe()Di

16、m NewWidth As Single' 忽略窗體縮小的情況If WindowState = vbMinimized Then Exit SubNewWidth = (ScaleWidth - SPL99vTERWIDTH) * PercentPicleft.Move 0, 0, NewWidth, ScaleHeightPicright.Move NewWidth + SPL99vTERWIDTH, 0, ScaleWidth - NewWidth - SPL99vTERWIDTH, ScaleHeightEnd SubPrivate Sub Form_Load()'Pic

17、Left 和 PicRight 的 MousePointer=1Percent = 0.5End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DragFlag = TrueEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '定義鼠標為 vbSizeWE 型MousePointer = vbSizeWEPe

18、rcent = X / ScaleWidthRedrawMeEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) DragFlag = FalseMousePointer = 0 ' 此行語句實際沒有起作用End Sub封面的設計一、封面的設計是這樣的,先出現一窗體,上面為你喜歡的圖案。然后出現一艘從左向右行駛著的船。 屏幕上方從兩側分別移動出 “歡迎 ”兩個字。具體的制作方法是:把預先選好的背景圖案裝入封面窗體中, 窗體命名為 CAI 。再分別在三個

19、圖像控件 (image) 中裝入預先制作好的位圖 “歡”、“迎”和船型圖案。然后把 三個image放置在初始位置(即圖案剛在窗體出現時的位置),并把它們的可視屬性都設置為“false。程序如下:Sub Form_load()cai.Show顯示圭寸面窗體Dim i定義變量image3.visible=True 船型圖像控件出現a1: If image3.Left < 6120 Then'612為船移動到屏幕右邊的坐標,此值可以隨需要選取image3.Move image3.Left 50移動此圖像控件如嫌移動慢,可改變移動值Goto a1End Ifimage1.visible=

20、True 歡”字“出現a2: If image1.Left < 2120 Then'212為 歡”字移動到屏幕中間的位置imagel.Move imagel.Left + 50 移動此圖像控件Goto a2End Ifimage2.visible=True 迎”字“出現a3: If image2.Left > 5420 Then'542為 迎”字移動到屏幕中間的位置image2.Move image2.Left 50 移動此圖像控件Goto a3End IfFor i=1 To 10000使窗體暫停一段時間時間長短可通過改變循環(huán)次數實現Next imenul.Sho

21、w '顯示程序主窗體Unload cai 卸載封面窗體End Sub二、簡單的動畫”有的光線射到此中心后反射點擊一 3D 按鈕后,屏幕表現光線平行進入一玻璃管, 在管中有一散射中心, 到管的初始端。程序如下:Sub Command3Dl_Click()Dim i, j, k, m, n 定義變量For i=2080 To 5520顯示出三條線,直到圖像中的散射中心處,顏色為黑色Line(2080,2760) (i,2760),RGB(0, 0, 0)Line(2080,2860) (i,2860),RGB(0, 0, 0)Line(2080,2660) (i,2660),RGB(0,

22、0, 0)Next iFor j=5520 To 4800 Step 1 反射光線第一次射到管壁上Line(5520,2760) (j,2760 (5520 j) .33333333) , RGB(255, 0, 0) 反射光線 ,顏色為紅色Line(5520,2660) (5520(5520j),2660),RGB(0, 0, 0)Line(5520,2860) (5520(5520j),2860),RGB(0, 0, 0)沒有遇到散射中心的兩條光線,為黑色,繼續(xù)前進Next jFor k=4800 To 3360 Step - 1反射光線第二次射到管壁上Line(4800,2520) (k

23、,2520 (4800 k).33333333),RGB(255, 0, 0) 反射光線 ,顏色為紅色Line(6240,2660) - (6240 (4800 - k),2660),RGB(0,0,0)Line(6240,2860) - (6240 (4800 - k),2860),RGB(0,0,0)沒有遇到散射中心的兩條光線,顏色為黑色Next kFor m=3360 To 2080 Step - 1 反射光線第三次射到管壁上Line(3360,3000) - (m,3000 - (3360 - m).33333333),RGB(255, 0, 0) 反射光線 ,顏色為紅色Next mE

24、nd Sub三、封底封底的設計是: 先出現全黑的屏幕, 然后從上至下逐漸拉出白底紅字的 “再見 ”的字樣。先按要求在畫板中 做一個 BMP 圖,上面寫著 “再見”。然后在一名為 BYE 的窗體中加入一個全屏大的 Picturel, 將 BMP 圖裝入。程序如下:Sub Form_Load()Dim i定義變量bye.Show封底出現Unload menul '卸載主菜單al: If picture1.Height < 7130 Then為圖7的1 3高0度picturel.Height=picture1.Height + 50 下拉屏幕GoTo alEnd IfFor i=1 T

25、o 20000 使窗體暫停一段時間Next iEnd結束所有操作End Sub利用 Visual Basic 讓命令行軟件全面轉向 Windows眾所周知, Windows 以其優(yōu)美的圖形界面,方便快捷的操作環(huán)境,已成為當今的主流操作系統(tǒng),但由于 其程序編寫過于復雜,有很多用戶常用的工具和小程序仍然只能運行于DOS 環(huán)境下,造成 Windows 和DOS 的頻繁切換、使工作缺乏連續(xù)性和效率低下。有什么方法可以解決這一問題呢?等待For Windows版本的面市,但仍會造成重復投資。據筆者觀察發(fā)現,常用工具中有一部分為命令行軟件,這些軟件完 全可以利用 VB 改編成 For Windows 版本

26、的。首先由于 VB 的簡單易用,使 Windows 的界面設計變得異 常簡單直觀。所以可輕而易舉的將命令選項、開關等轉化為對應的圖形界面(如復選鈕等)。其次由于VB 為用戶提供了 Shell 函數,也使得命令調用非常簡單。 通過 Shell 其實你只做了個界面, 核心還是 DOS 下的原來工具。其函數格式如下:Shell (命令字符串 <, 窗口類型 >)命令字符串即具體執(zhí)行的命令(如字符串 “arj e a:user.arj c: user ”)有關字符串的操作可查閱有關書籍。 至于窗口型類型缺省即可。 最后只須注意, 在 Shell 執(zhí)行函數之前, 有必要對命令行中有可能引發(fā)錯

27、誤的Arj for Windows 版本,其結果出乎想象。希望大家能自己動手全面轉向 Windows 。七、利用 VB 產生屏幕變暗的效果想利用 VB 編程實現屏幕變暗的效果(像關閉 Win95 時的效果),只要按下面的步驟來做:1. 在 Form1 中加入兩個 CommandButton 和一個 PictureBox.2. 在 Form1 的代碼窗口中添加以下代碼:Private Type RECTLeft As LongTop As LongRight As LongBottom As LongEnd TypePrivate Declare Function GetDC Lib "

28、;user32" (ByVal hwnd As Long) As LongPrivate Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As LongPrivate Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As LongPrivate Declare Function PatBlt Lib "gdi32" (B

29、yVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As LongPrivate Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As LongPrivate Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, B

30、yVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As LongPrivate Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As LongPrivate Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, ByVal lpRect A

31、s Long, ByVal bErase As Long) As LongPrivate bybits(1 To 16) As BytePrivate hBitmap As Long, hBrush As LongPrivate hDesktopWnd As LongPrivate Sub Command1_Click()Dim rop As Long, res As LongDim hdc5 As Long, width5 As Long, height5 As Long hdc5 = GetDC(0)width5 = Screen.Width Screen.TwipsPerPixelX h

32、eight5 = Screen.Height Screen.TwipsPerPixelY rop = &HA000C9Call SelectObject(hdc5, hBrush)res = PatBlt(hdc5, 0, 0, width5, height5, rop)Call DeleteObject(hBrush)res = ReleaseDC(0, hdc5)End SubPrivate Sub Command2_Click()Dim aa As Longaa = InvalidateRect(0, 0, 1)End SubPrivate Sub Form_Load()Dim

33、aryDim i As Longary = Array(&H55, &H0, &HAA, &H0, _&H55, &H0, &HAA, &H0, _&H55, &H0, &HAA, &H0, _&H55, &H0, &HAA, &H0)For i = 1 To 16bybits(i) = ary(i - 1)Next ihBitmap = CreateBitmap(8, 8, 1, 1, bybits(1) hBrush = CreatePatternBrush(hB

34、itmap) Picture1.ForeColor = RGB(0, 0, 0) Picture1.BackColor = RGB(255, 255, 255) Picture1.ScaleMode = 3End Sub運行程序,按 Command1 就可以使屏幕暗下來,按 Command2 恢復。八、Private Declare Function GetDesktopWindow Lib "user32" () As LongPrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long

35、) As LongPrivate Declare Function StretchBlt Lib "gdi32" _(ByVal hdc As Long, _ByVal x As Long, _ByVal y As Long, _ByVal nWidth As Long, _ByVal nHeight As Long, _ByVal hSrcDC As Long, _ByVal xSrc As Long, _ByVal ySrc As Long, _ByVal nSrcWidth As Long, _ByVal nSrcHeight As Long, _ByVal dwRo

36、p As Long) As LongPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)EndEnd SubPrivate Sub Form_Load()' setthe showintaskbar property to false' setthe borderstyle of the form to noneForm1.AutoRedraw = TrueForm1.ScaleMode = vbPixelsa = GetDesktopWindow()b = GetDC(a)StretchBlt Form1

37、.hdc, 0, 0, Screen.Width, Screen.Height, b, 0, _Screen.Height, Screen.Width, -Screen.Height, vbSrcCop1 2 下一頁九在 VB 中實現閃動標題欄摘要 在你的應用程序中,你可能會希望將應用程序的標題欄進行閃動,以提醒用戶進行某種操作,本文介紹 了如何使一個窗口的標題欄進行閃動。閃動標題欄 閃動一個窗口的標題欄意味著改變它的標題欄的外觀,例如它從活動變?yōu)椴换顒?,或是從不活動變?yōu)榛?動等等。只要你能在 Visual Basic 中得到窗口的句柄, 你就可以使用 Windows 應用程序編程接口 (AP

38、I) 函數來使該窗口的標題欄進行閃動。函數 FlashWindows 可以被用使一個特定的窗口閃動一次。要使用 該函數,需要將如下的聲明語句包含在你的窗體的通用聲明部分中:#If Win32 ThenDeclare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long#ElseDeclare Function FlashWindow Lib "User" (ByVal hwnd As Integer, ByVal bInvert As I

39、nteger) AsInteger#End If該函數需要 2 個參數,第一個參數是要閃動標題欄的窗口的句柄,第二個參數用于指定是設置窗口的閃 動狀態(tài),還是恢復其原始狀態(tài)。如果該 bInvert 參數非 0,則表明窗口的標題欄被閃動,如果該參數為0,則表明窗口的標題欄被恢復為原始狀態(tài)。該函數所返回的值用于指定調用該函數前窗口的狀態(tài),如果該 返回值非 0,則表明窗口在調用該函數之前是活動的,否則,如果返回值為0 ,則表明調用函數前窗口是非活動的。當使用該 FlashWindow 函數時,一個較好的方法是將標題欄閃動的頻率設置為同脫字符(也 即閃動的光標)相同,脫字符的閃動頻率可以通過調用函數 G

40、etCaretBlinkTime 來獲得。要使用該函數, 需要將如下的聲明語句包含在你的窗體的通用聲明部分中:#If Win32 ThenDeclare Function GetCaretBlinkTime Lib "user32" () As Long#ElseDeclare Function GetCaretBlinkTime Lib "User" () As Integer#End If該函數返回用毫秒值表示的時間。樣例程序1. 在 Visual Basic 中開始一個新的工程,采用缺省的方法建立 Form1 。2. 在 Form1 上添加一個定時

41、器控件,采用缺省的方法建立 Timer1 。3. 將如下的代碼添加到 Form1 的 Form_GotFocus 事件中:Private Sub Form_GotFocus()Timer1.Enabled = FalseEnd Sub4. 將如下的代碼添加到 Form1 的 Form_Load 事件中:Private Sub Form_Load()Timer1.Interval = GetCaretBlinkTime()Form2.ShowEnd Sub5. 將如下的代碼添加到 Timer1 的 Timer1_Timer 事件中:Private Sub Timer1_Timer()Succes

42、s = FlashWindow(Form1.hwnd, 1)End Sub6. 添加第二個窗體,采用缺省的方法建立 Form2 。7. 將如下的代碼添加到 Form2 的單擊事件中:Private Sub Form_Click()= TrueEnd Sub8. 添加一個新的模塊,采用缺省的方法建立 Module1.Bas 。將如下的代碼添加到該模塊的通用聲明部分 中:#If Win32 ThenDeclare Function FlashWindow Lib "user32" ( _ByVal hwnd As Long, _ByVal bInvert As Long) As

43、 LongDeclare Function GetCaretBlinkTime Lib "user32" () As LongDim Success As Long#ElseDeclare Function FlashWindow Lib "User" ( _ByVal hwnd As Integer, _ByVal bInvert As Integer) As IntegerDeclare Function GetCaretBlinkTime Lib "User" () As IntegerDim Success As Intege

44、r#End If通過單擊 F5 鍵來運行該樣例程序,單擊 Form2 窗體,這時 Form1 窗體將處于非活動方式,其標題欄將 會不斷閃爍。單擊 Form1 使它它變?yōu)榛顒臃绞?,則窗體的標題欄將不再閃爍11、一組 VB 實用小程序用 VB 實現編程離不開函數調用及 Windows API 函數的調用,以下是筆者收集的一些實用的小例程,它 們可以直接用在你的實際編程中,也可以根據實際應用加以擴充完善。其中涉及 Windows API 函數調用 的代碼你可以從 VB5.0 系統(tǒng)的 API 函數查看器中復制函數定義內容,以避免出錯。1.系統(tǒng)型表單 系統(tǒng)型意味著用戶完成當前表單操作之前無法進行其它操作

45、,這對于編制系統(tǒng)口令保護界面尤為重要。如果你希望當前表單系統(tǒng)型表單,需如下定義 API 函數:Declare Function SetSysModalWindow Lib "User" (ByVal hWnd As Integer) As Integer然后調用: oldSysModal = SetSysModalWindow(Form.hWnd)2.獲取驅動器類型代碼如后:Declare Function GetDriveType Lib“ Kernel" (ByVal nDrive As Integer) As IntegerGlobal Const DRIV

46、E_REMOVEABLE = 2, DRIVE_FIXED = 3Global Const DRIVE_REMOTE = 43. 表單在對中本子程序功能使表單定位在屏幕中央,在表單中任何需要表單對中的地方只需加入一行代碼:“ centerwindow.me 即”可成功調用。Public Sub CenterWindow(f As Form)f.Top = (Screen.Height .5) (f.Height .5)f.Left = (Screen.Width .5) (f.Width .5)End Sub4. 定義變量許多的程序員習慣于如下定義變量:Dim iNum, iNextNum,

47、iLastNum as Integer實際上只有最后一個變量被設為了整型, 前兩個變量則是系統(tǒng)的缺省的 Variant 數據類型, 而 Variant 數 據類型可用來替換任何數據類型,顯然對于精練的程序設計是不利的。 正確的方法如下:Dim iNum as IntegerDim iNextNum as IntegerDim iLastNum as Integer5. 使文本高亮本子程序使被觸發(fā)的諸如文本,標簽等控件的文本被選中Public Sub SetSelected()= 0= End Sub6. 關閉其它程序下面的代碼可關閉內存中的其它程序title = "MyAPP&quo

48、t; ' 定義你需關閉的程序窗口的標題ihWnd = findWindow(0 , Title)ihTask = GetWindowTask (ihWnd)iRet = PostAppMessage(ihTask, WM_QU99v, 0, 0 )7. 文件存在否 ?本函數返回查找的文件是否存在。Function FileExist(Filename as string) as BooleanFileExist = Iif(Dir(Filename) <> "", True, False)End Function8. 主程序唯一用下面提供的代碼作你的主程

49、序可防止應用程序的多重執(zhí)行, 你應當將它放在確信需要它的代碼模塊內。Public Sub Main()If App.PrevInstance ThenBringWindowToTop frmMain.hwndElseLoad frmMainEnd IfEnd Sub 上面這些精悍的代碼對于專業(yè)程序員來說非常有實用價值,希望你能從中獲得啟發(fā)。12、VB5.0 中實現字體閃爍效果用 Visual Basic 我們可設計出形形色色符合用戶要求的應用程序,它確實是一種很好的用戶程序開發(fā)工 具,可 VB 提供的基本控件中都沒有閃爍屬性設置,使應用程序界面缺乏“活性 ”,近期筆者設計軟件封面時,就要求字體

50、不斷地閃爍,為此,經反復分析、實踐,最后終于成功地實現字體閃爍效果,現將設計 過程說明如下:(1) 創(chuàng)建一個新目標文件 (project1) ,并建立一個窗體 Form1 。(2) 在 Form1 上配置一個計時器控制 Timer1 、標簽控件 Label1 、命令控件 Command1 。(3) 各控件屬性設置:Timer1 的 Enabled 設置為 True;Label1 的 Caption 設置為需閃爍的字體: “江西省黎川縣職業(yè)中專電腦室設計 ”、Font 設置字體及大小、 Backstyle 設置為 “0 Transparent ”;Command1 中的 Caption 設置為

51、“退出 ”。(4) 程序代碼清單:Option ExplicitPrivate Sub Form_ Load()Label1.Top=850設置閃爍字體的顯示位置Label1.Left=750Timer1.Interval=555設置字體閃爍間隔時間Form1.Windowstate=2End Sub利用計時器控件Timer有規(guī)律地改變字體顏色(Forecolor)Private Sub Timer1_Timer()Chc Label1,1,4,8End Sub'ChC過程是循環(huán)地改變字體顏色 (Forecolor)Sub Chc(Cont As Control,Color1 As I

52、nteger,Color2 As Integer,Color3 As Integer)If Val(Cont.Tag)=Color1 ThenCont.Tag=Color2ElseIf Val(Cont.Tag)=Color2 ThenCont.Tag=Color3ElseIf Val(Cont.Tag)=Color3 ThenCont.Tag=Color1ElseCont.Tag=Color1End IfCont.ForeColor=QBColor(Cont.Tag)End SubPrivate Sub Command1_Click()EndEnd Sub程序除標簽控件外,還適用于許多 VB

53、 基本控件,實現諸多閃爍效果,例如:閃爍文本框、閃爍文件列表框等,極大豐富了 VB 應用程序界面,相當實用。13、VB 實用編程兩例該程序通過 VB的多媒體控件 MCI32.OCX可以打開MPEG壓縮文件(如VCD2.0版的.DAT文件)來 實現一個 VCD 播放器的設計首先必須確保在你的 Windows 系統(tǒng)中 SYSTEM.INI 文件關于 MCI 中需有 MPEGVideo 項(一般 Windows 95 和 Windows 98 中均有此項 )。次在 VB 中建立一個新窗口 ,加入多媒體部件 Microsoft Multimedia Control 5.0( 位于 C:WindowsS

54、ystemMCI32.OCX), 以及對話框部件 Microsoft Common Dialog Control 5.0( 位于 C:WindowsSystemCOMMONDLG32.OCX), 將 MCI 控件拖放至窗體 Form 上,調整其大小 ,并將窗體的 大小也調整為與其同樣大小 ;將其九個按鈕 (從左至右為 :Prev、Next、Play、Pause 、 Back 、Step 、Stop 、 Record 和 Eject) 中的 Record 按鈕的 Visible 屬性設為 False, 其余按鈕中的 Visible 屬性和 Enabled 屬性 設為 True, 以上按鈕的設置可

55、通過 MMControl 的屬性欄內 "自定義 "項來設置。對話框控件的DefaultExt屬性設為 .DAT,DialogTitle 屬性設為 "打開多媒體文件 ",Filter 屬性設為 "*.DAT,*.WAV",InitDir 屬性設為 "G:MPEGAV"( 假設光驅盤符為 G)。源代碼如下 :Option ExplicitPrivate Sub Form_Load()Dim Response As IntegerMMControl1.DeviceType = "MPEGVideo"C

56、ommonDialog1.ShowOpen ' 通過對話框選擇不同的 VCD 文件MMControl1.filename = CommonDialog1.filename ' 選定要播放的文件MMControl1.Command = "Open"MMControl1.Command = "Play"End SubPrivate Sub Form_Unload(Cancel As Integer)MMControl1.Command = "close"End SubPrivate Sub MMControl1_BackClick(Cancel As Integer) ' 對 Back 按鈕的功能改進Dim i As Integeri = MMControl1.Position - 100 ' 數值 100 為后退量 , 可適當調整If i < 0 Then MMControl1.From = 0Else MMControl1.From = iEnd IfMMContr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論