很多軟件都有保存用戶設(shè)置的功能,以便用戶下一次啟動時其程序界面及相關(guān)設(shè)置都是自己最中意和習(xí)慣的,這使得軟件具有人性化,用戶用起來感到親切。用VB編寫的軟件可以通過多種途徑實現(xiàn)此功能,這里介紹用數(shù)據(jù)庫方法來保存用戶的個性化設(shè)置。
假設(shè)我們已經(jīng)完成了一個用TextBox做編輯欄的字處理程序,該程序提供了讓用戶對編輯欄背景色和字體的設(shè)置菜單,現(xiàn)在我們想讓用戶所作的設(shè)置能保存下來。怎么辦呢?
第一步:給窗體添加一個Data控件。
第二步:用Access建立一個名為Pad的數(shù)據(jù)庫,在庫中建立一個表Myset,給表添加四個字段:backcolor(數(shù)據(jù)),forecolor(文本),fontname(文本),fontsize(文本)。注意:請將庫文件存入程序所在目錄。
如果你的機(jī)器沒安裝有Access,可通過VB建庫。
第三步:編寫如下代碼:
在Form_Load事件添加:
注釋:定位庫文件路徑
Data1.DatabaseName = App.Path + "\rtSet.mdb"
Data1.RecordSource = "MySet"
注釋:設(shè)置背景色
Private Sub mnuBackColorSetting_Click()
CommonDialog1.Flags = cdlCCFullOpen
CommonDialog1.ShowColor
On Error GoTo err
Data1.Recordset.Edit
err:
If err.Number = 3021 Then
Data1.Recordset.AddNew
End If
Data1.Recordset.Fields("backcolor") = CommonDialog1.Color
Data1.Recordset.Update
Text1.BackColor = CommonDialog1.Color
End Sub
注釋:設(shè)置字體
Private Sub mnuFontSetting_Click()
CommonDialog1.Flags = cdlCFEffects Or cdlCFBoth
CommonDialog1.ShowFont
On Error GoTo FontErr
Data1.Recordset.Edit
FontErr:
If err.Number = 3021 Then
Data1.Recordset.AddNew
End If
Data1.Recordset.Fields("fontsize") = CommonDialog1.FontSize
Data1.Recordset.Fields("forecolor") = CommonDialog1.Color
Data1.Recordset.Fields("fontname") = CommonDialog1.FontName
Data1.Recordset.Update
Text1.ForeColor = CommonDialog1.Color
Text1.Font.Name = CommonDialog1.FontName
Text1.Font.Size = CommonDialog1.FontSize
注釋:窗體的Activate事件
Private Sub Form_Activate()
On Error Resume Next
Text1.BackColor = Data1.Recordset.Fields("backcolor")
Text1.Font.Size = Data1.Recordset.Fields("fontsize")
Text1.ForeColor = Data1.Recordset.Fields("forecolor")
Text1.Font.Name = Data1.Recordset.Fields("fontname")
End Sub
至此,我們的程序就能把用戶的個性化設(shè)置保存下來了。應(yīng)當(dāng)注意,只有編譯成可執(zhí)行文件后才有效,在VB狀態(tài)中運行會提示找不到庫文件的。