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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

2、te Sub Form_Activate()'1 年期 2.25% ,2 年期 2.43% ,3 年期為 2.70% ,5 年期為 2.88%不記復(fù)利。今有 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 年后到期的本息合計(jì) " ss(x, 5, x5)P

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

4、s(x, 2, x2), 1, x1), 1, x1), 1, x1)Print " 存五次 1 年期 ,5 年后到期的本息合計(jì) " 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 Doubless = a + a * c * b End Function專業(yè)資料整理WORD格式Private Sub Form_Load()專業(yè)資料整理WORD格式AutoRed

5、raw = TrueEnd Sub如下Dim str As StringPrivate Sub 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()

6、EndEnd SubPrivate Sub Command5_Click()Form2.ShowForm1.HideEnd SubPrivate Sub Form_Load()Command1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = TrueEnd Sub如何讓 Command14功能鍵的目標(biāo)轉(zhuǎn)向text1內(nèi)的內(nèi)容我點(diǎn)的時(shí)候必須把 text1里面的內(nèi)容去選定后才能進(jìn)展操作如何讓他自己選定為text1的內(nèi)容 - - !專業(yè)資料整理WORD格式上面的 Command1剪切功能Co

7、mmand2復(fù)制功能Command3粘貼功能Command4退出- !三、利用 VB 三維面板控件設(shè)計(jì)流動(dòng)條2000-09-15 00:00:00·王金柱 ·yeskyVB 提供了一個(gè)三維面板控件,利用這個(gè)控件可設(shè)計(jì)圖形效果的立體界面,從而使應(yīng)用程序的界面顯得更生動(dòng)、 美觀,該控件還可以設(shè)置各種形式的背景,然后在背景上顯示各種形式的字符, 令人感興趣的是, 使用三維面板控件, 還可設(shè)計(jì)我們經(jīng)常在安裝程序中看到的表示安裝進(jìn)程的流動(dòng)條,并可顯示進(jìn)程百分比,改變流動(dòng)條的顏色等。一、介紹屬性FloodColor :確定流動(dòng)條的顏色,缺省為藍(lán)色。FloodPercent :顯示當(dāng)前過

8、程如流動(dòng)條進(jìn)展的百分比,參數(shù)改變時(shí)顯示的百分?jǐn)?shù)和流動(dòng)條的面積改變,設(shè)為一整型值,取值X圍是0100 。FloodShowpct :決定是否在三維面板控件上顯示百分比,是一個(gè)邏輯值。 為 True時(shí)顯示,為 False 時(shí)不顯示。FloodType :表示用戶對三維面板控件的使用方式??扇≈涤? 個(gè),如下所示:0缺省設(shè)置1表示流動(dòng)條方向從左到右2表示流動(dòng)條方向從右到左3表示流動(dòng)條方向從上到下4表示流動(dòng)條方向從下到上5表示使用指定的顏色從圓心向外畫圓二、流動(dòng)條設(shè)計(jì)如果在 Windows3 ? X 下,工具箱中不存在三維面板控件, 可選擇 File 菜單中的“Add File 進(jìn)展添加,在彈出的對話

9、框中找到 WindowsSystem 目錄,然后選定 Threed ? vbx 文件即可,如果使用 VB4.0 ,需在 Tools 菜單中選擇 Custom Controls 命令,選定 Sheridan 3d Controls 項(xiàng),按 OK 按鈕,可在工具箱中增加三維面板控件。專業(yè)資料整理WORD格式啟動(dòng) VB3 ? 0,在窗體中畫一水平方向的長方形三維面板控件,按 F4 ,在屬性窗口中設(shè)置其 Name 為 P3d 、 Bevellnner 為 2 Raised 、 FloodType 為 1、 FloodshowPct為 True ,再在窗體中畫一個(gè)按鈕 Command1 ,雙擊該按鈕,鍵

10、入下面的代碼:Sub Command1_Click() P3d ? floodpercent=0 For N =1 To 100If N $#62;100 THEN Exit SubEnd IfP3d ? FloodPercent=N Next I End Sub按 F5,運(yùn)行該程序,點(diǎn)擊Command按鈕,即可看到流動(dòng)條效果。四、使用 VB 設(shè)計(jì)具有動(dòng)感的命令圖標(biāo)欄2000-09-15 00:00:00·X嶸 ·VB 編程樂園p> 我們在使用 Word、 Excel 等 Windows 應(yīng)用程序時(shí),經(jīng)常會(huì)見到在程序界面頂端有一行 “立體式 圖標(biāo)按鈕。當(dāng)用鼠標(biāo)按下某一

11、個(gè)圖標(biāo)按鈕時(shí),程序就執(zhí)行相應(yīng)的操作。這一行 “立體式 圖標(biāo)按鈕通常就稱作命令圖標(biāo)欄或工具條。命令圖標(biāo)欄一般提供一些最常用的命令,供用戶快速地取用,并且它設(shè)計(jì)時(shí)采用了“立體式 按鈕,操作時(shí)會(huì)產(chǎn)生凹下去和凸出來的“動(dòng)感 ,筆者這里就談?wù)勅绾斡肰B 來建立具有“動(dòng)感 的命令圖標(biāo)欄。使命令圖標(biāo)具有“動(dòng)感 是依靠對命令圖標(biāo)的不同狀態(tài)的圖像切換來獲得的。當(dāng)鼠標(biāo)按下時(shí), 圖標(biāo)顯示為凹入狀態(tài)的圖像; 當(dāng)松開時(shí),圖標(biāo)顯示為凸出狀態(tài)的圖像。通過圖像切換就使命令圖標(biāo)具有了 “動(dòng)感 ,具體設(shè)計(jì)步驟如下:1。首先在窗體中創(chuàng)立一個(gè)圖片框Picture Box ,將其 Align 屬性置為1,使圖片框固定在窗體上端,調(diào)節(jié)其

12、寬度使其能安置圖像或命令按鈕。2。在圖標(biāo)框內(nèi)創(chuàng)立假設(shè)干個(gè)圖像框Image Control,設(shè)置其 Autosize True,Picture屬性在程序運(yùn)行中設(shè)置。3。編寫程序代碼。這里假設(shè)某個(gè)命令圖標(biāo)凸出狀態(tài)的圖像文件名為zrup.bmp,凹入狀態(tài)的圖像文件名為zrdown.bmp。專業(yè)資料整理WORD格式窗體裝入時(shí):專業(yè)資料整理WORD格式Sub form load Imagel.picture Loadpicture zrup.bmp 命令圖標(biāo)凸出End sub鼠標(biāo)按下時(shí):Sub Imagel mousedown Button As Integer Shift As Integer , X

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

14、mouseup(Button As Integer,Shift As Integer,X As single,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通過以上三步驟就可

15、以建立具有 “動(dòng)感 的命令圖標(biāo),假設(shè)具有多個(gè)命令圖標(biāo)時(shí),可通過創(chuàng)立圖像控制數(shù)組來實(shí)現(xiàn)。 BMP 是常見的一種圖像格式,也可以使用 VB 提供的豐富的不同狀態(tài)的命令圖標(biāo)位圖文件, 它在 VB 的子目錄 bitmaps 中。專業(yè)資料整理WORD格式五、專業(yè)資料整理WORD格式實(shí)現(xiàn)窗體內(nèi)部的左右移動(dòng)'分割區(qū)的寬度Private Const SPL99vTERWIDTH = 45'最小移動(dòng)寬度Private Const HMIN = 15'picLeft 和 picRight的寬度相對于窗體的比例Private Percent As Single'正在拖動(dòng)的標(biāo)志Priv

16、ate DragFlag As Boolean'每次拖動(dòng)后需要重排窗體上的控件Private Sub RedrawMe()Dim NewWidth As Single' 忽略窗體縮小的情況If WindowState = vbMinimized Then Exit SubNewWidth = (ScaleWidth - SPL99vTERWIDTH) * PercentPicleft.Move 0, 0, NewWidth, ScaleHeightPicright.Move NewWidth + SPL99vTERWIDTH, 0, ScaleWidth - NewWidth

17、- SPL99vTERWIDTH,ScaleHeightEnd SubPrivate Sub Form_Load()'PicLeft 和 PicRight 的 MousePointer=1Percent = 0.5End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)DragFlag = True專業(yè)資料整理WORD格式End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Inte

18、ger, X As Single, Y As Single)'定義鼠標(biāo)為vbSizeWE型MousePointer = vbSizeWEPercent = X / ScaleWidthRedrawMeEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)DragFlag = FalseMousePointer = 0 '此行語句實(shí)際沒有起作用End Sub六、封面的設(shè)計(jì)一、封面的設(shè)計(jì)是這樣的,先出現(xiàn)一窗體,上面為你喜歡的圖案。然后出現(xiàn)一艘從左向右

19、行駛著的船。屏幕上方從兩側(cè)分別移動(dòng)出“歡迎兩個(gè)字。具體的制作方法是:把預(yù)先選好的背景圖案裝入封面窗體中,窗體命名為CAI 。再分別在三個(gè)圖像控件(image) 中裝入預(yù)先制作好的位圖“歡、“迎和船型圖案。然后把三個(gè) image 放置在初始位置(即圖案剛在窗體出現(xiàn)時(shí)的位置),并把它們的可視屬性都設(shè)置為“false。程序如下:Sub Form_load()cai.Show顯示封面窗體Dim i 定義變量image3.visible=True船型圖像控件出現(xiàn)a1: If image3.Left < 6120 Then專業(yè)資料整理WORD格式 6120為船移動(dòng)到屏幕右邊的坐標(biāo),此值可以隨需要選取

20、專業(yè)資料整理WORD格式image3.Move image3.Left50移動(dòng)此圖像控件如嫌移動(dòng)慢,可改變移動(dòng)值Goto a1End Ifimage1.visible=True歡“字出現(xiàn)a2: If image1.Left < 2120 Then 2120為“歡字移動(dòng)到屏幕中間的位置image1.Move image1.Left50 移動(dòng)此圖像控件Goto a2End Ifimage2.visible=True迎“字出現(xiàn)a3: If image2.Left > 5420 Then 5420為“迎字移動(dòng)到屏幕中間的位置image2.Move image2.Left50 移動(dòng)此圖像控件

21、Goto a3End IfFor i=1 To 10000使窗體暫停一段時(shí)間時(shí)間長短可通過改變循環(huán)次數(shù)實(shí)現(xiàn)Next imenul.Show顯示程序主窗體Unload cai卸載封面窗體End Sub二、簡單的 “動(dòng)畫 點(diǎn)擊一 3D 按鈕后,屏幕表現(xiàn)光線平行進(jìn)入一玻璃管,在管中有一散射中心,有的光線射到此中心后反射到管的初始端。程序如下:Sub Command3Dl_Click()專業(yè)資料整理WORD格式Dim i, j, k, m, n定義變量專業(yè)資料整理WORD格式For i=2080 To 5520顯示出三條線 ,直到圖像中的散射中心處,顏色為黑色Line(2080,2760) (i,27

22、60),RGB(0, 0, 0)Line(2080,2860) (i,2860),RGB(0, 0, 0)Line(2080,2660) (i,2660),RGB(0, 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 (5520 j),2660),RGB(0, 0, 0)Line(5520,2860) (5520 (5520 j),2860),RGB(0, 0, 0

23、)沒有遇到散射中心的兩條光線,為黑色 ,繼續(xù)前進(jìn)Next jFor k=4800 To 3360 Step1 射光線第二次射到管壁上反Line(4800,2520) (k,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(33

24、60,3000) (m,3000 (3360 m) .33333333),RGB(255, 0, 0)反射光線 ,顏色為紅色Next mEnd Sub三、封底封底的設(shè)計(jì)是:先出現(xiàn)全黑的屏幕,然后從上至下逐漸拉出白底紅字的“再見 的字樣。先按要求在畫板中專業(yè)資料整理WORD格式做一個(gè) BMP 圖,上面寫著“再見 。然后在一名為BYE 的窗體中參加一個(gè)全屏大的Picturel, 將 BMP 圖裝專業(yè)資料整理WORD格式入。程序如下:Sub Form_Load()Dim i 定義變量bye.Show封底出現(xiàn)Unload menu1卸載主菜單al: If picture1.Height < 71

25、30 Then為圖7130的高度picturel.Height=picture1.Height 50 下拉屏幕GoTo alEnd IfFor i=1 To 20000使窗體暫停一段時(shí)間Next iEnd 完畢所有操作End Sub利用 Visual Basic讓命令行軟件全面轉(zhuǎn)向Windows眾所周知, Windows以其優(yōu)美的圖形界面,方便快捷的操作環(huán)境,已成為當(dāng)今的主流操作系統(tǒng),但由于其程序編寫過于復(fù)雜,有很多用戶常用的工具和小程序仍然只能運(yùn)行于DOS 環(huán)境下,造成Windows和DOS 的頻繁切換、使工作缺乏連續(xù)性和效率低下。有什么方法可以解決這一問題呢?等待For Windows版本

26、的面市,但仍會(huì)造成重復(fù)投資。據(jù)筆者觀察發(fā)現(xiàn),常用工具中有一局部為命令行軟件,這些軟件完全可以利用VB 改編成 For Windows版本的。首先由于VB 的簡單易用,使Windows的界面設(shè)計(jì)變得異常簡單直觀。所以可輕而易舉的將命令選項(xiàng)、開關(guān)等轉(zhuǎn)化為對應(yīng)的圖形界面如復(fù)選鈕等。其次由于VB 為用戶提供了Shell 函數(shù),也使得命令調(diào)用非常簡單。通過 Shell 其實(shí)你只做了個(gè)界面, 核心還是DOS下的原來工具。其函數(shù)格式如下:Shell 命令字符串 <,窗口類型 >命令字符串即具體執(zhí)行的命令如字符串“arj e a:user.arj c: user 有關(guān)字符串的操作可查閱有關(guān)書籍。專

27、業(yè)資料整理WORD格式至于窗口型類型缺省即可。最后只須注意, 在 Shell 執(zhí)行函數(shù)之前, 有必要對命令行中有可能引發(fā)錯(cuò)誤的專業(yè)資料整理WORD格式參數(shù)進(jìn)展檢測,如在執(zhí)行前檢查用戶給的源文件是否存在等,以保證到達(dá)預(yù)期結(jié)果。筆者用VB改編的專業(yè)資料整理WORD格式Arj for Windows版本,其結(jié)果出乎想象。希望大家能自己動(dòng)手全面轉(zhuǎn)向Windows。專業(yè)資料整理WORD格式七、利用 VB 產(chǎn)生屏幕變暗的效果專業(yè)資料整理WORD格式想利用VB編程實(shí)現(xiàn)屏幕變暗的效果像關(guān)閉Win95時(shí)的效果,只要按下面的步驟來做:專業(yè)資料整理WORD格式1. 在Form1中參加兩個(gè)CommandButton和

28、一個(gè)PictureBox.專業(yè)資料整理WORD格式2. 在 Form1 的代碼窗口中添加以下代碼:Private Type RECTLeft As LongTop As LongRight As LongBottom As LongEnd TypePrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Lo

29、ng) As LongPrivate Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As LongPrivate Declare Function PatBlt Lib "gdi32" (ByVal 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 Decl

30、are Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As LongPrivate Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long,ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As LongPrivate Declare Function SelectObject Lib &quo

31、t;gdi32" (ByVal hdc As Long, ByVal hObject As Long) AsLongPrivate Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, ByVal lpRect As Long,ByVal bErase As Long) As LongPrivate bybits(1 To 16) As BytePrivate hBitmap As Long, hBrush As LongPrivate hDesktopWnd As Long專業(yè)資料整理

32、WORD格式Private Sub Command1_Click()Dim rop As Long, res As LongDim hdc5 As Long, width5 As Long, height5 As Longhdc5 = GetDC(0)width5 = Screen.Width Screen.TwipsPerPixelXheight5 = Screen.Height Screen.TwipsPerPixelYrop = &HA000C9Call SelectObject(hdc5, hBrush)res = PatBlt(hdc5, 0, 0, width5, heig

33、ht5, 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 aryDim i As Longary = Array(&H55, &H0, &HAA, &H0, _&H55, &H0, &HAA, &H0, _&H55, &H0, &

34、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(hBitmap)Picture1.ForeColor = RGB(0, 0, 0)Picture1.BackColor = RGB(255, 255, 255)Picture1.ScaleMode = 3專業(yè)資料整理WORD格式End Sub運(yùn)行程序,按Comman

35、d1就可以使屏幕暗下來,按Command2恢復(fù)。八、Private Declare Function GetDesktopWindow Lib "user32" () As LongPrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function StretchBlt Lib "gdi32" _(ByVal hdc As Long, _ByVal x As Long, _ByVal y As Long, _B

36、yVal 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 dwRop As Long) As LongPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)EndEnd SubPrivate Sub Form_Load() sethe showin

37、taskbar property to false sethe borderstyle of the form to none Form1.AutoRedraw = True Form1.ScaleMode = vbPixelsa = GetDesktopWindow()專業(yè)資料整理WORD格式b = GetDC(a)StretchBlt Form1.hdc, 0, 0, Screen.Width, Screen.Height, b, 0, _Screen.Height, Screen.Width, -Screen.Height, vbSrcCop1 2 下一頁九在 VB 中實(shí)現(xiàn)閃動(dòng)標(biāo)題欄摘要

38、在你的應(yīng)用程序中,你可能會(huì)希望將應(yīng)用程序的標(biāo)題欄進(jìn)展閃動(dòng),以提醒用戶進(jìn)展某種操作,本文介紹了如何使一個(gè)窗口的標(biāo)題欄進(jìn)展閃動(dòng)。閃動(dòng)標(biāo)題欄閃動(dòng)一個(gè)窗口的標(biāo)題欄意味著改變它的標(biāo)題欄的外觀,例如它從活動(dòng)變?yōu)椴换顒?dòng),或是從不活動(dòng)變?yōu)榛顒?dòng)等等。只要你能在Visual Basic中得到窗口的句柄,你就可以使用Windows應(yīng)用程序編程接口 API函數(shù)來使該窗口的標(biāo)題欄進(jìn)展閃動(dòng)。函數(shù)FlashWindows可以被用使一個(gè)特定的窗口閃動(dòng)一次。要使用該函數(shù),需要將如下的聲明語句包含在你的窗體的通用聲明局部中:#If Win32 ThenDeclare Function FlashWindow Lib "

39、user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long#ElseDeclare Function FlashWindow Lib "User" (ByVal hwnd As Integer, ByVal bInvert As Integer) AsInteger#End If該函數(shù)需要2 個(gè)參數(shù),第一個(gè)參數(shù)是要閃動(dòng)標(biāo)題欄的窗口的句柄,第二個(gè)參數(shù)用于指定是設(shè)置窗口的閃專業(yè)資料整理WORD格式動(dòng)狀態(tài),還是恢復(fù)其原始狀態(tài)。如果該bInvert 參數(shù)非 0,那么說明窗口的標(biāo)題欄被閃動(dòng),如果該參數(shù)為0 ,專業(yè)資

40、料整理WORD格式那么說明窗口的標(biāo)題欄被恢復(fù)為原始狀態(tài)。該函數(shù)所返回的值用于指定調(diào)用該函數(shù)前窗口的狀態(tài),如果該返回值非0,那么說明窗口在調(diào)用該函數(shù)之前是活動(dòng)的,否那么,如果返回值為0 ,那么說明調(diào)用函數(shù)前窗口是非活動(dòng)的。當(dāng)使用該FlashWindow函數(shù)時(shí),一個(gè)較好的方法是將標(biāo)題欄閃動(dòng)的頻率設(shè)置為同脫字符也即閃動(dòng)的光標(biāo)一樣,脫字符的閃動(dòng)頻率可以通過調(diào)用函數(shù)GetCaretBlinkTime來獲得。要使用該函數(shù),需要將如下的聲明語句包含在你的窗體的通用聲明局部中:#If Win32 ThenDeclare Function GetCaretBlinkTime Lib "user32&q

41、uot; () As Long#ElseDeclare Function GetCaretBlinkTime Lib "User" () As Integer#End If該函數(shù)返回用毫秒值表示的時(shí)間。樣例程序1.在 Visual Basic 中開場一個(gè)新的工程,采用缺省的方法建立Form1 。2.在 Form1 上添加一個(gè)定時(shí)器控件,采用缺省的方法建立Timer1 。3.將如下的代碼添加到 Form1 的 Form_GotFocus 事件中:Private Sub Form_GotFocus()Timer1.Enabled = FalseEnd Sub4. 將如下的代碼添

42、加到 Form1 的 Form_Load 事件中:Private Sub Form_Load()Timer1.Interval = GetCaretBlinkTime()Form2.ShowEnd Sub專業(yè)資料整理WORD格式5. 將如下的代碼添加到Timer1的 Timer1_Timer事件中:Private Sub Timer1_Timer()Success = FlashWindow(Form1.hwnd, 1)End Sub6. 添加第二個(gè)窗體,采用缺省的方法建立Form2 。7. 將如下的代碼添加到 Form2 的單擊事件中:Private Sub Form_Click()Form

43、1.Timer1.Enabled = TrueEnd Sub8. 添加一個(gè)新的模塊,采用缺省的方法建立Module1.Bas。將如下的代碼添加到該模塊的通用聲明局部中:#If Win32 ThenDeclare Function FlashWindow Lib "user32" ( _ByVal hwnd As Long, _ByVal bInvert As Long) As LongDeclare Function GetCaretBlinkTime Lib "user32" () As LongDim Success As Long專業(yè)資料整理WOR

44、D格式#Else專業(yè)資料整理WORD格式Declare Function FlashWindow Lib "User" ( _ByVal hwnd As Integer, _ByVal bInvert As Integer) As IntegerDeclare Function GetCaretBlinkTime Lib "User" () As IntegerDim Success As Integer#End If通過單擊F5 鍵來運(yùn)行該樣例程序,單擊Form2 窗體,這時(shí)Form1 窗體將處于非活動(dòng)方式,其標(biāo)題欄將會(huì)不斷閃爍。單擊Form1 使它它

45、變?yōu)榛顒?dòng)方式,那么窗體的標(biāo)題欄將不再閃爍11、一組 VB 實(shí)用小程序用 VB 實(shí)現(xiàn)編程離不開函數(shù)調(diào)用及Windows API函數(shù)的調(diào)用,以下是筆者收集的一些實(shí)用的小例程,它們可以直接用在你的實(shí)際編程中,也可以根據(jù)實(shí)際應(yīng)用加以擴(kuò)大完善。其中涉及Windows API函數(shù)調(diào)用的代碼你可以從VB5.0 系統(tǒng)的 API 函數(shù)查看器中復(fù)制函數(shù)定義內(nèi)容,以防止出錯(cuò)。1. 系統(tǒng)型表單系統(tǒng)型意味著用戶完成當(dāng)前表單操作之前無法進(jìn)展其它操作,這對于編制系統(tǒng)口令保護(hù)界面尤為重要。如果你希望當(dāng)前表單系統(tǒng)型表單,需如下定義API 函數(shù):Declare Function SetSysModalWindow Lib &qu

46、ot;User" (ByVal hWnd As Integer) As Integer然后調(diào)用: oldSysModal = SetSysModalWindow(Form.hWnd)2. 獲取驅(qū)動(dòng)器類型代碼如后:Declare Function GetDriveType Lib“ Kernel" (ByVal nDrive As Integer) As IntegerGlobal Const DRIVE_REMOVEABLE = 2, DRIVE_FIXED = 3專業(yè)資料整理WORD格式Global Const DRIVE_REMOTE= 4專業(yè)資料整理WORD格式3.

47、表單在對中本子程序功能使表單定位在屏幕中央,在表單中任何需要表單對中的地方只需參加一行代碼:“ centerwindow.me 即可成功調(diào)用。Public Sub CenterWindow(f As Form)f.Top = (Screen.Height .5) (f.Height .5)f.Left = (Screen.Width .5) (f.Width .5)End Sub4. 定義變量許多的程序員習(xí)慣于如下定義變量:Dim iNum, iNextNum, iLastNum as Integer實(shí)際上只有最后一個(gè)變量被設(shè)為了整型,前兩個(gè)變量那么是系統(tǒng)的缺省的Variant數(shù)據(jù)類型,而 V

48、ariant數(shù)據(jù)類型可用來替換任何數(shù)據(jù)類型,顯然對于精練的程序設(shè)計(jì)是不利的。正確的方法如下:Dim iNum as IntegerDim iNextNum as IntegerDim iLastNum as Integer5. 使文本高亮本子程序使被觸發(fā)的諸如文本,標(biāo)簽等控件的文本被選中Public Sub SetSelected()Screen.ActiveControl.SelStart = 0Screen.ActiveControl.SelLength = Len(Screen.ActiveControl.Text)End Sub6. 關(guān)閉其它程序下面的代碼可關(guān)閉內(nèi)存中的其它程序title = "MyAPP" '定義你需關(guān)閉的程序窗口的標(biāo)題ihWnd = findWindow(0, Title)ihTask = GetWindowTask (ihWnd)iRet = PostAppMess

溫馨提示

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

評論

0/150

提交評論