logon.cpp

来自「vt100终端仿真程序」· C++ 代码 · 共 120 行

CPP
120
字号
#include "stdafx.h"
#include "cfgfile.h"

HWND hLogOnDlgWnd;

HWND pBTUserID;
HWND pBTUserPwd;
HWND pBTLogOnMode;

void GetLogOnWnd()
{
	pBTUserID=GetDlgItem(hLogOnDlgWnd,IDC_USER); 
	pBTUserPwd=GetDlgItem(hLogOnDlgWnd,IDC_PASSWD);
	pBTLogOnMode=GetDlgItem(hLogOnDlgWnd,IDC_LOGONMODE); 

}

void InitLogOnDlgItem()
{
	TCHAR szDlgItemText[50];
	int iLogonMode;
	int iLen,iLoop;

	CCfgFile csCfgFile;

	memset(szDlgItemText,0,sizeof(szDlgItemText));
	csCfgFile.GetCfgItemStr(USERID,szDlgItemText,20);
	SetDlgItemText(hLogOnDlgWnd,IDC_USER,szDlgItemText);
	
	memset(szDlgItemText,0,sizeof(szDlgItemText));
	iLen=csCfgFile.GetCfgItemStr(PASSWORD,szDlgItemText,16);
	for(iLoop=0;iLoop<iLen;iLoop++){
		szDlgItemText[iLoop]=~szDlgItemText[iLoop];
	}
	SetDlgItemText(hLogOnDlgWnd,IDC_PASSWD,szDlgItemText);

	iLogonMode=csCfgFile.GetCfgItemInt(LOGONMODE);
	if(iLogonMode==0){
		SendMessage(pBTLogOnMode,BM_SETCHECK,BST_UNCHECKED,0);
		EnableWindow(pBTUserID,FALSE);
		EnableWindow(pBTUserPwd,FALSE);
	}
	else{
		SendMessage(pBTLogOnMode,BM_SETCHECK,BST_CHECKED,0);
	}
}

void OnLogOnModeApp()
{
	CCfgFile csCfgFile;

	TCHAR szDlgItemText[50];
	int iLen,iLoop,iRet;

	memset(szDlgItemText,0,sizeof(szDlgItemText));
	iLen=GetDlgItemText(hLogOnDlgWnd,IDC_USER,szDlgItemText,20);
	csCfgFile.SetCfgItemStr(USERID,szDlgItemText,iLen);
	
	memset(szDlgItemText,0,sizeof(szDlgItemText));
	iLen=GetDlgItemText(hLogOnDlgWnd,IDC_PASSWD,szDlgItemText,16);
	for(iLoop=0;iLoop<iLen;iLoop++){
		szDlgItemText[iLoop]=~szDlgItemText[iLoop];
	}
	csCfgFile.SetCfgItemStr(PASSWORD,szDlgItemText,iLen);
	
	iRet=SendMessage(pBTLogOnMode,BM_GETCHECK,0,0);
	if(iRet==BST_CHECKED)
		csCfgFile.SetCfgItemInt(LOGONMODE,1);
	else
		csCfgFile.SetCfgItemInt(LOGONMODE,0);

}

LRESULT CALLBACK LogOn(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	WORD wCmd;

	switch (message)
	{
		case WM_INITDIALOG:
			hLogOnDlgWnd=hDlg;
			GetLogOnWnd();
			InitLogOnDlgItem();
			
			return TRUE;

		case WM_COMMAND:
			wCmd=LOWORD(wParam);
			switch(wCmd){
			case IDOK:
				OnLogOnModeApp();

				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;

				break;
				
			case IDCANCEL:
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;

			case IDC_LOGONMODE:
				if(SendMessage(pBTLogOnMode,BM_GETCHECK,0,0)){
					EnableWindow(pBTUserID,TRUE);
					EnableWindow(pBTUserPwd,TRUE);
				}
				else{
					EnableWindow(pBTUserID,FALSE);
					EnableWindow(pBTUserPwd,FALSE);
				}
			
				break;
			}

			break;

	}
    return FALSE;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?