If loginno 3 Then MsgBox quot对不起您不能使用该系统请与管理员联系。
quot vbInformation Unload Me Exit Sub End If ???? Else LoginUser Userid 保存当前登陆用户名 LoginPower rs.Fields3 将当前登陆用户的权限保存到LoginPower中 Unload Me frmflash.Show End If Else MsgBox quot没有您输入的用户名quot 32 ???? End If rs.Close: Set rs Nothing Case 1 ‘退出整个程序 Unload Me End Select End Sub 332 MDI主窗口frmmain 本系统采取多文档界面MultiDocument Interface。
多文档界面是一种Windows用户界面标准。
它有一个父窗口在典型情况下父窗口用来显示程序菜单以及包含子窗口。
在工程中添加一个MDI窗口取名为“frmmain.frm”并为MDI窗体进行菜单和代码的设计其运行界面如图3.2: 图3.2 主界面 3321 菜单设计 MDI主窗体是整个系统的容器为了方便用户的使用应设计相应的菜单和代码。
3322 窗体代码设计 1在代码窗口的通用部分声明一个API函数用于打开帮助文件和调用Outlook发送邮件。
Private Declare Function ShellExecuteamp Lib quotshell32.dllquot Alias quotShellExecuteAquot ByVal hwnd As Long ByVal lpOperation As String ByVal lpFile As String ByVal lpParameters As String ByVal lpDirectory As String ByVal nShowCmd As Long 2判断用户权限 如果登陆的为普通用户类型的用户则用户不能使用“用户管理”这一功能而对于管理员类型的用户则没有此限制。
所以在MDIForm的Load事件中需要判断用户类型。
Private Sub MDIForm_Load StatusBar.Panels2.Text quot当前操作员quot gtgt VB学生学籍管理系统论文源程序 filemenu11.Enabled False Toolbar1.Buttons.Item5.Enabled False End If End Sub 3Form的QueryUnload事件 当用户要退出MDI窗体时需要在 QueryUnload事件中询问用户是否真的要退出本系统如果用户不要退出则将Cancel置为1取消整个退出过程。
Private Sub MDIForm_QueryUnloadCancel As Integer UnloadMode As Integer If MsgBoxquot确定要退出学生档案管理系统吗是/否quot vbYesNovbQuestion vbDefaultButton1 vbNo Then Cancel 1 End If End Sub QueryUnload和Unload事件 当一个子窗体或一个Form对象关闭时在那个窗体中的QueryUnload事件先于该窗体的Unload事件发生Unload事件在Terminate事件之前发生。
当一个应用程序关闭时可使用QueryUnload或Unload事件过程将Cancel属性设置为True来阻止关闭过程。
但是QueryUnload事件是在任一个卸载之前在所有窗体中发生而Unload是在每个窗体卸载时发生。
在这两个事件中均可将Cancel设置为任何非零的值来防止窗体被删除。
但Unload不能阻止其他事件诸如从Microsoft Windows操作环境中退出等而QueryUnload事件则可以阻止从Windows中的退出。
有介于此通常来说都是在QueryUnload中询问用户是否要退出当前窗体。
4“重新登陆”子菜单的代码 当单击了“重新登陆”或者按下了“F2”键时将会给出提示如果用户在提示框中按下了“确定”按钮则退出整个MDI主窗体并显示登陆窗体。
Private Sub filemenu15_Click If MsgBoxquot若重新登陆所有窗体都将关闭是否重新登陆quot vbYesNo vbQuestion quot重新登陆quot vbYes Then Unload Me Frmlogin.Show End If End Sub 5“帮助主题”子菜单的代码 调用Windows API函数打开help.chm帮助文件。
Private Sub filemenu21_Click ShellExecute 0 quotopenquot App.Path amp quothelp.chmquot quotquot quotquot 1 End Sub 6“给我发邮件”子菜单的代码 如果用户单击了“给我发邮件”子菜单则会调用API函数调用Outlook。
Private Sub filemenu22_Click ShellExecute Me.hwnd quotopenquot quotmailto:datou158etang.comquot quotquot App.Path 1 End Sub 7当用户单击查询学生资料菜单项或者按下F3键时将会出现“查找学生”窗体供用户查找满足特定要求的学生信息。
Private Sub filemenu45_Click 查找学生 frmstusearch.Show 1 End Sub 333 用户管理窗体frmmanage 向项目中添加窗体并命名为frmmanage.frm。
窗体的控件设计如图3