【正文】
= e f = Else f = Str(99999999 * Rnd) = f End If 16 16 ShowNumFun Pt, wPw1(3), Index 1 Case 11 e = Str(1 / Val(e)) Ji_suan *** 第 1123 種情況略 **** Case 24 If s_mem_B = False Then If op = Then e = Str(S_mem) = e f = Else f = Str(S_mem) = f End If s_mem_B = True Else S_mem = 0 s_mem_B = False End If End Select Exit Sub eh1: = E e = f = op = End Sub Private Sub cmdAC_Click() g = 1 ShowNumFun Pt, wPw2(3), 1 ShowNumARG Pt, wPw1(3), 20 e = f = op = 17 17 = 0 End Sub Private Sub cmdAC_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) Show_b Picture5, P8, cmdAC End Sub Private Sub cmdAC_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) Show_b Picture5, P9, cmdAC End Sub Private Sub cmdEq_Click() If op = Then e = Str((Val(e))) = e Else f = Str((Val(e))) = f End If chk = 1 End Sub Private Sub cmdEq_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) Show_b Picture5, P8, cmdEq End Sub Private Sub cmdEq_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) Show_b Picture5, P9, cmdEq End Sub Private Sub cmdNum_Click(Index As Integer) On Error GoTo eh2 If chk = 1 Then e = f = op = 18 18 chk = 0 End If If op = Then e = e amp。單一功能鍵按下、松開 Private Sub cmdops_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) Show_b Picture5, P8, cmdOps(Index) End Sub Private Sub cmdops_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) Show_b Picture5, P9, cmdOps(Index) End Sub 39。 g = 1 ShowNumARG Pt, wPw1(3), 21 End Select End Sub Private Sub cmdOp_1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) Show_b Picture5, P9, cmdOp_1(Index) End Sub Private Sub cmdOp_1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) 14 14 Show_b Picture5, P8, cmdOp_1(Index) End Sub 39。************************************************** 39。************************************************** 39。 _ 多功能電子日歷 39。H10 Private Type RECT Left As Long Top As Long Right As Long Bottom As Long 12 12 End Type Const ScrollText As String = 19012049 amp。H0 Const DT_VCENTER As Long = amp。H20 Const DT_TABSTOP As Long = amp。H800 Const DT_RIGHT As Long = amp。H0 Const DT_NOCLIP As Long = amp。H40 Const DT_EXTERNALLEADING As Long = amp。H400 Const DT_CENTER As Long = amp。滾動字幕 Private Declare Function DrawText Lib user32 Alias DrawTextA (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long Private Declare Function GetTickCount Lib kernel32 () As Long Const DT_BOTTOM As Long = amp。============================================================================= Private Declare Function GetObjectAPI Lib gdi32 Alias GetObjectA (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long Private Declare Function DeleteObject Lib gdi32 (ByVal hObject As Long) As Long Private Declare Function SetWindowRgn Lib user32 (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Private Declare Function CreateRectRgn Lib gdi32 (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Declare Function CombineRgn Lib gdi32 (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long Private Declare Function GetBitmapBits Lib gdi32 (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long Text1:textbox控件 11 11 Private Type BITMAP bmType As Long bmWidth As Long bmHeight As Long bmWidthBytes As Long bmPlanes As Integer bmBitsPixel As Integer bmBits As Long End Type Private Const RGN_OR = 2 Dim bmByte() As Byte 39。拖動無標(biāo)題窗體 Const HTCAPTION = 2 Const WM_NCLBUTTONDOWN = amp。 查詢控制面板開關(guān) 屬相標(biāo)志 ,單擊退出本程序 8 8 圖 2 二、本程序部分控件的設(shè)置 Gz C_clock G_y,下面兩個為 g_m,g_d n_y,下面兩個為 n_m,n_d Picture1 該時鐘是畫出來的 , 還有 L1,L2,L3 三個 line 控件 9 9 Picture2 cmdt Picture2 Lable4 Picture5 圖中我們看到的一個個小按鈕是用photoshop畫出來的 ,實際上在每個按鈕上面我都加上了透明的 lable 控件 Pt : picturebox控件 Updown1 10 10 三、主程序部分代碼: Option Explicit 39。單擊時鐘數(shù)字將返回到今天。程序的運行界面見圖 1, 圖 1 程序應(yīng)用了不規(guī)則窗體技術(shù),使得窗體比較美觀。通過這種方式 ,代碼運行的效果可以在開發(fā)時進(jìn)行測試 ,而不必等到編譯完成以后。這時可以更正錯誤并繼續(xù)編譯、而不需從頭開始。當(dāng)準(zhǔn)備運行和測試應(yīng)用程序時 ,只需極短時間即可完成編譯。看起來就像一位專家在監(jiān)視代碼的輸入。此時必須查找并改正該錯誤 ,然后再次進(jìn)行編譯 ,對每一個發(fā)現(xiàn)的錯誤都要重復(fù)這樣的過程。但是VB與傳統(tǒng)的語言不同 ,它使用交互式方法開發(fā)應(yīng)用程序 ,使三個步驟之間不再有明顯的界限。通過這門課程的學(xué)習(xí),我已能用 VB 編寫簡單的程序,為了搞好這次畢業(yè)設(shè)計,我決定使用 VB作為編程語言。 在選擇所需要的應(yīng)用程序開發(fā)工具時 ,不但要考慮開發(fā)工具的功能是否強(qiáng)大 ,還要考慮所花費的時間和效果 ,單純地追求功能的強(qiáng)大 ,也許會事倍功半。而 VB 不支持虛類、多態(tài)性和類的繼承 ,相對而言 VB 簡單易學(xué) ,變量定義不 太嚴(yán)密 ,對于非專業(yè)程序員而言功能足夠強(qiáng)大 ,同 Visual C++一樣也支持網(wǎng)絡(luò)編程和數(shù)據(jù)庫編程。 三、為何選擇 VB 作為開發(fā)語言 除了 VB之外 ,當(dāng)前能夠編制 Windows應(yīng)用程序的可視化編程工具還有很多 ,所針對的編程領(lǐng)域也各有側(cè)重 ,就微軟系列的可視化開發(fā)工具而言 ,就有VB,VisualC++,VisualJ++,Visual Foxpro 等 ,其中 Visual Foxpro 是針對數(shù)據(jù)庫