【文章內(nèi)容簡(jiǎn)介】
.用戶管理(amp。M) ….換用戶登錄窗口(amp。W) 幫助(amp。H)….查看幫助….關(guān)于(amp。A) CTRL+A退出(amp。X)圖56 設(shè)備管理系統(tǒng)菜單結(jié)構(gòu) 3.“菜單”中的各個(gè)“子菜單”的程序代碼(1)“編輯”菜單的Click事件和程序代碼如下。點(diǎn)擊“編輯”會(huì)彈出編輯子窗口。Private Sub mnuEdit_Click() = vbMaximizedEnd Sub(2)“查詢”菜單的Click事件和程序代碼如下。點(diǎn)擊“查詢”會(huì)彈出查詢子窗口。Private Sub mnuQuery_Click() = vbMaximizedEnd Sub(3)“視圖”菜單下的“工具欄”子菜單的Click事件的程序代碼如下。點(diǎn)擊“工具欄”主窗體會(huì)隱藏工具欄。 Private Sub mnuViewToolbar_Click() = Not = End Sub(4)“視圖”菜單下的“狀態(tài)欄”子菜單的Click事件的程序代碼如下。點(diǎn)擊“狀態(tài)欄”主窗體會(huì)隱藏狀態(tài)欄。Private Sub mnuViewStatusBar_Click() = Not = End Sub(5)“系統(tǒng)管理”菜單下的“修改密碼”子菜單的Click事件的程序代碼如下。點(diǎn)擊“修改密碼”主窗體會(huì)彈出修改密碼子窗口。Private Sub M修改密碼_Click() = vbMaximizedEnd Sub(6)“系統(tǒng)管理”菜單下的“用戶管理”子菜單的Click事件的程序代碼如下。點(diǎn)擊“用戶管理”主窗體會(huì)彈出用戶管理子窗口。Private Sub M用戶管理_Click() = vbMaximizedEnd Sub(7)“系統(tǒng)管理”菜單下的“換用戶登錄”子菜單的Click事件的程序代碼如下。點(diǎn)擊“換用戶登錄”主窗體會(huì)彈出用戶登錄窗口。Private Sub M換用戶登陸_Click() 39。啟動(dòng)登陸對(duì)話框 Dim fLogin As New 登錄 vbModal If Not Then 39。登錄失敗,退出應(yīng)用程序 Exit Sub End If Unload fLogin 39。啟動(dòng)主窗口 Unload Me End Sub(8)“幫助”菜單下的“關(guān)于”子菜單的Click事件的程序代碼如下。點(diǎn)擊“關(guān)于”主窗體會(huì)彈出關(guān)于窗口。Private Sub M關(guān)于_Click() End Sub(9)“退出”菜單的Click事件的程序代碼如下。點(diǎn)擊“退出”結(jié)束系統(tǒng)的運(yùn)行狀態(tài)。Private Sub mnuFileExit_Click() End End Sub (四)創(chuàng)建主窗體工具欄工具欄提供了對(duì)于應(yīng)用程序中最常用的菜單命令的快速訪問,它進(jìn)一步增強(qiáng)了應(yīng)用程序的菜單界面,已經(jīng)成為許多基于Windows的應(yīng)用程序的標(biāo)準(zhǔn)功能。工具欄的制作有兩種方法:一是手工制作,即利用圖形框和命令按鈕,這種方法比較繁瑣;另一種方法是使用ToolBar控件來創(chuàng)建工具欄,非常容易且很方便。在本系統(tǒng)中,我采用的是ToolBar控件來創(chuàng)建工具欄,使用前需先按照下面的步驟將ToolBar控件添加到工具箱。1.把ToolBar控件添加到工具箱ToolBar控件不是常用控件,使用前先選擇菜單“工程”/“部件”項(xiàng)打開“部件”對(duì)話框,選擇“控件”選項(xiàng)卡,單擊“Microsoft Windows Common Controls”框,然后單擊“確定”按鈕關(guān)閉“部件”對(duì)話框,此時(shí)會(huì)在工具欄上增加一系列控件,其中之一就是ToolBar控件,然后雙擊工具箱中的ToolBar控件圖標(biāo),為窗體添加一個(gè)新的工具欄,工具欄會(huì)顯示在窗體的標(biāo)題欄下。2.在ToolBar控件中添加按鈕右鍵單擊工具欄,在出現(xiàn)的彈出菜單中選擇“屬性”項(xiàng)打開工具欄的“屬性頁(yè)”對(duì)話框,如圖5-7 所示,可以進(jìn)行工具欄的編輯。單擊“屬性頁(yè)”中的“按鈕”選項(xiàng)卡,然后單擊“插入按鈕”便把一個(gè)新按鈕添加到工具欄中。 給新按鈕添加顯示文字,可以在“標(biāo)題”文本框中輸入相應(yīng)的文字。用戶可以通過在“索引”文本框中輸入數(shù)值來設(shè)置某個(gè)按鈕的“Index”屬性值,這是按鈕在ToolBar控件的索引值,用于標(biāo)識(shí)該按鈕。用戶在工具欄中添加按鈕時(shí),Visual Basic會(huì)自動(dòng)為新按鈕分配“Index”值。用戶還可以在“關(guān)鍵字”文本框中輸入文字,設(shè)置按鈕的“Key”屬性值,該屬性幫助用戶確認(rèn)這個(gè)按鈕。按鈕的樣式(Style)屬性決定按鈕的行為。按鈕對(duì)象的一個(gè)重要的屬性是樣式(Style)屬性?! D5-7 工具欄的“屬性頁(yè)”對(duì)話框“按鈕”選項(xiàng)卡本系統(tǒng)設(shè)計(jì)的工具欄效果,如下圖5-8所示 圖5-8 主窗體工具欄3.為按鈕添加圖標(biāo)工具欄按鈕通常會(huì)顯示圖標(biāo),要使工具欄按鈕能夠顯示這樣的圖像,必須首先將ImageList控件與ToolBar控件相關(guān)聯(lián)。要在窗體上添加ImageList控件,雙擊工具箱中的ImageList控件圖標(biāo),在窗體上添加ImageList控件;右鍵單擊該控件在彈出的菜單中選擇“屬性”項(xiàng),顯示ImageList控件的“屬性頁(yè)”對(duì)話框,從中選擇“圖像”選項(xiàng)卡,如圖5-9所示。使用“插入圖片”命令,從打開的“選定圖片”對(duì)話框中選擇適當(dāng)?shù)膱D片文件來建立圖片列表,Visual Basic會(huì)自動(dòng)為每一個(gè)圖片分配相應(yīng)的索引號(hào)。建立工具欄按鈕和ImageList控件之間的關(guān)聯(lián)。打開工具欄的“屬性頁(yè)”對(duì)話框,選擇“通用”選項(xiàng)卡,如圖5-10所示。在“圖像列表”中選擇已建立的ImageList控件;再選擇“按鈕”選項(xiàng)卡。在“圖像”文本框中輸入選用的圖片的索引號(hào),單擊“確定”按鈕就完成對(duì)圖像的選擇?! D5-9 ImageList 控件頁(yè)屬性頁(yè)的“圖像”選項(xiàng)卡 圖5-10 工具欄屬性頁(yè)的“通用”選項(xiàng)卡4.ToolBar控件的ButtonClick()事件程序的編寫要為工具欄中的按鈕添加代碼,可以為ToolBar控件編寫B(tài)uttonClick()事件程序,并在程序中通過判斷“”(或“”)屬性值來判斷單擊了哪一個(gè)按鈕,通過Select Case結(jié)構(gòu)來運(yùn)行相應(yīng)的程序。本系統(tǒng)的程序如下:Private Sub Toolbar1_ButtonClick(ByVal Button As ) Select Case Case 關(guān)于 Case ReadMe Case 說明 = vbMaximized End SelectEnd Sub(五)創(chuàng)建主窗體狀態(tài)欄狀態(tài)欄一般位于窗體的底部,用于向用戶顯示系統(tǒng)的一些狀態(tài),比如系統(tǒng)信息、當(dāng)前用戶、時(shí)間、日期等。狀態(tài)欄的添加比較簡(jiǎn)單,這里不再詳細(xì)說明。但本窗體的狀態(tài)欄如圖511所示?! D511 主窗體的狀態(tài)欄在主窗體中為狀態(tài)欄添加的代碼如下:Private Sub Timer1_Timer() If Len((1).Text) (1).Width / 80 Then (1).Text = + (1).Text Else (1).Text = LTrim((1).Text) End IfEnd Sub六、系統(tǒng)各模塊設(shè)計(jì)(一)標(biāo)準(zhǔn)模塊設(shè)計(jì)標(biāo)準(zhǔn)模塊文件的擴(kuò)展名為 .Bas,其中可以包含使用Public語(yǔ)句定義的變量,可以被工程中任何過程使用,即工程級(jí)變量或全局變量。本系統(tǒng)在標(biāo)準(zhǔn)模塊中定義的全局變量如下:Public UserName As String 39。用戶名Public UserPas As String 39。用戶密碼(二)編輯查詢模塊的設(shè)計(jì)用戶可以通過在編輯窗體中對(duì)數(shù)據(jù)庫(kù)中的“設(shè)備”、“車間”、“制造商”3張表中的記錄進(jìn)行瀏覽、添加、修改和刪除操作。編輯窗體frmEdit的MDIChild屬性設(shè)置為True,執(zhí)行主窗體中的“編輯”命令后,系統(tǒng)界面如圖6-1所示 圖6-1 編輯窗體frmEdit(a)圖6-1 編輯窗體frmEdit(b)圖6-1 編輯窗體frmEdit(c)編輯窗體中使用了一個(gè)ActiveX控件SSTab(通過執(zhí)行“工程”菜單中的“部件”命令,在“部件”對(duì)話框中選擇Microsoft Tabbed Dialog Control ,可將該控件添加到工具箱中)。該SSTab控件名為SSTab1,包含“設(shè)備”、“車間”、“制造商”3個(gè)選項(xiàng)卡,分別可以對(duì)“設(shè)備”、“車間”、“制造商”3張表中的記錄進(jìn)行相關(guān)操作。編輯窗體中還使用了3個(gè)被隱藏的Data控件,分別名為datStudent、datCourse、datScore。將3個(gè)選項(xiàng)卡內(nèi)的文本框的DataSource屬性分別設(shè)置為3個(gè)Data控件的名,并為7個(gè)命令按鈕、編輯窗體編寫事件過程,程序如下:39。添加按鈕的單擊事件過程Private Sub cmdAdd_Click() 39。根據(jù)當(dāng)前按鈕的標(biāo)題進(jìn)行不同的操作 Select Case Case 添加 39。向當(dāng)前選項(xiàng)卡所對(duì)應(yīng)表中添加記錄 Select Case Case 0 Case 1 Case 2 End Select 39。在添加操作完成前禁止進(jìn)行其他操作 (0) = False (1) = False (2) = False = 確定 = False = False = False = False = False = False Case 確定 Select Case Case 0 Case 1 Case 2 End Select (0) = True (1) = True (2) = True = 添加 = True = True = True = True = True = True End SelectEnd Sub39。刪除按鈕的單擊事件過程Private Sub cmdDel_Click() Dim i As Integer i = MsgBox(確定要?jiǎng)h除此記錄?, vbYesNo + vbExclamation + vbDefaultButton1, 編輯) If i = vbYes Then 39。刪除當(dāng)前選項(xiàng)卡所對(duì)應(yīng)表中的記錄 Select Case Case 0 Case 1