第一次机房收费系统,最先进行的是登录窗体的设计和编码。万事开头难,只要勇敢的踏出第一步,就是自己最大的胜利!
下面,咱们一起来看看这个登录窗体:
界面:
登录窗体很简单,界面上有三个label、两个text、两个command控件,还有一个picture控件。窗体的设计:控件要大小美观、位置适当。一个美的界面可以给用户带来一个好的心情!
思路:
窗体设计完成,我们要进行代码的编写了,首先要有一个总体的思路。思想才是灵魂。下面是我在进行登录窗体的思路:
在这个登录窗体中,语句一般不是很难,我主要说一些值得注意的细节:
1.登录窗体的移动问题(移动无标题框的窗体):
'声明,引用函数 ReleaseCapture Lib "user32"()为 长整型
Private Declare Function Release CaptureLib"user32"()AsLong
'声明 引用 函数 SendMessage Lib "user32"Alias "SendMessageA"(传值 句柄 为 Long, 传值 wMsg 为 Long, 传值 wParam 为 Long, lParam 为 Any)为 长整型
Private Declare Function SendMessageLib"user32"Alias"SendMessageA"(ByVal hwnd AsLong,ByVal wMsgAsLong,ByVal wParamAsLong, lParam AsAny)AsLong
'声明 定义常量
Private Const WM_SYSCOMMAND=&H112
'声明 定义常量
PrivateConst SC_MOVE =&HF010&
'声明 定义常量
Private Const WM_NCLBUTTONDOWN =&HA1
'声明 定义常量
Private Const HTCAPTION =2
'鼠标按下事件,拖拽窗体事件触发
Private Sub Form_MouseDown(ButtonAsInteger,ShiftAsInteger, X AsSingle, Y AsSingle)
ReleaseCapture
Send Message hwnd, WM_NCLBUTTONDOWN, HTCAPTION,ByVal0&
EndSub '结束过程
2、设置权限
'调用数据库
txtsql = "select * from user_Info where userID = '" & Trim(TxtUserName.Text) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext) '执行数据库
Select Case Trim(mrc.Fields(2))
Case Is = "管理员"
'如果是管理员,设置权限
frmMain.generaluserMenu.Enabled = True
frmMain.operrateMenu.Enabled = True
frmMain.administratorMenu.Enabled = True
Case Is = "操作员"
'如果是操作员,设置权限
frmMain.generaluserMenu.Enabled = True
frmMain.operrateMenu.Enabled = True
frmMain.administratorMenu.Enabled = False
Case Is
= "一般用户"'如果是一般用户,设置权限
frmMain.generaluserMenu.Enabled = True
frmMain.operrateMenu.Enabled = False
frmMain.administratorMenu.Enabled = False
End Select
3、设置卡号限制:
1)、卡号为数字
2)、文本框不允许输入特殊字符
3)、限制文本框长度
4)、密码设为*
总结:
从一个小小的登录窗体,我们可以得出启示:首先,做一件事情要掌握全局观。其次,理清思路,明确自己的目标,要先做什么?如何实现功能。最后 ,不能输入在细节问题上,做一个软件,要站在用户的角度考虑问题,为用户谋便利。有了登录窗体的经历,后面的功能我们就知道如何去做了!因此,有自己的逻辑和思维才是最重要的!把握全局观。