⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.cpp

📁 数据库模拟程序 实现控制台命令词法分析
💻 CPP
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "dataBase.h"

#include "MainFrm.h"
#include "User.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

extern CUser GlobalUser;
/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
	ON_WM_CREATE()
	ON_COMMAND(ID_INX, OnInx)
	ON_UPDATE_COMMAND_UI(ID_CREATE_FLAG, OnUpdateCreateFlag)
	ON_UPDATE_COMMAND_UI(ID_DELETE_FLAG, OnUpdateDeleteFlag)
	ON_UPDATE_COMMAND_UI(ID_DROP_FLAG, OnUpdateDropFlag)
	ON_UPDATE_COMMAND_UI(ID_GRANT_FLAG, OnUpdateGrantFlag)
	ON_UPDATE_COMMAND_UI(ID_INSERT_FLAG, OnUpdateInsertFlag)
	ON_UPDATE_COMMAND_UI(ID_REVOKE_FLAG, OnUpdateRevokeFlag)
	ON_UPDATE_COMMAND_UI(ID_SELECT_FLAG, OnUpdateSelectFlag)
	ON_UPDATE_COMMAND_UI(ID_UPDATE_FLAG, OnUpdateUpdateFlag)
	ON_UPDATE_COMMAND_UI(ID_ALTER_FLAG, OnUpdateAlterFlag)
	ON_COMMAND(ID_CREATE_FLAG, OnCreateFlag)
	ON_COMMAND(ID_DELETE_FLAG, OnDeleteFlag)
	ON_COMMAND(ID_DROP_FLAG, OnDropFlag)
	ON_COMMAND(ID_GRANT_FLAG, OnGrantFlag)
	ON_COMMAND(ID_INSERT_FLAG, OnInsertFlag)
	ON_COMMAND(ID_REVOKE_FLAG, OnRevokeFlag)
	ON_COMMAND(ID_SELECT_FLAG, OnSelectFlag)
	ON_COMMAND(ID_UPDATE_FLAG, OnUpdateFlag)
	ON_COMMAND(ID_ALTER_FLAG, OnAlterFlag)
	ON_UPDATE_COMMAND_UI(ID_NAME, OnUpdateName)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // status line indicator
	ID_INDICATOR_CAPS,
	ID_INDICATOR_NUM,
	ID_INDICATOR_SCRL,
	IDS_AUTHOR,
	IDS_NUM
};

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
	// TODO: add member initialization code here
	int i;
	for(i = 0; i < 9; i++)
		bRightMenu[i] = false;
}

CMainFrame::~CMainFrame()
{
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create
	}

	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}

	// TODO: Delete these three lines if you don't want the toolbar to
	//  be dockable
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);

	SetWindowPos(this->GetParent(),GetSystemMetrics(SM_CXSCREEN) / 3 - 400 /2,GetSystemMetrics(SM_CYSCREEN) / 4,510,500,NULL);
	return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers


void CMainFrame::OnInx() 
{
	// TODO: Add your command handler code here
	/******************************************
	/******************************************
	/******************************************索引代码;
	*/
	
	system("type.bat SearchResult");//显示

}



void CMainFrame::OnUpdateCreateFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & CREATE_RIGHT) != 0){
			pCmdUI->SetCheck();
			bRightMenu[0] = true;
	}else{
			pCmdUI->SetCheck(0);
			bRightMenu[0] = false;
	}
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnUpdateDeleteFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & DELETE_RIGHT) != 0){
			pCmdUI->SetCheck();
			bRightMenu[1] = true;
	}else{
			pCmdUI->SetCheck(0);
			bRightMenu[1] = false;
	}
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnUpdateDropFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & DROP_RIGHT) != 0){
		pCmdUI->SetCheck();
		bRightMenu[2] = true;
	}else{
		pCmdUI->SetCheck(0);
		bRightMenu[2] = false;
	}
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnUpdateGrantFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & GRANT_RIGHT) != 0){
		pCmdUI->SetCheck();
		bRightMenu[3] = true;
	}else{
			pCmdUI->SetCheck(0);
			bRightMenu[3] = false;
	}
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnUpdateInsertFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & INSERT_RIGHT) != 0){
			pCmdUI->SetCheck();
			bRightMenu[4] = true;
	}else{
		pCmdUI->SetCheck(0);
		bRightMenu[4] = false;
	}
	
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnUpdateRevokeFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & REVOKE_RIGHT) != 0){
			pCmdUI->SetCheck();
			bRightMenu[5] = true;
	}else{
		pCmdUI->SetCheck(0);
		bRightMenu[5] = false;
	}
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnUpdateSelectFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & SELECT_RIGHT) != 0){
			pCmdUI->SetCheck();
			bRightMenu[6] = true;
	}else{
		pCmdUI->SetCheck(0);
		bRightMenu[6] = false;
	}
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnUpdateUpdateFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & UPDATE_RIGHT) != 0){
			pCmdUI->SetCheck();
			bRightMenu[7] = true;
	}else{
		pCmdUI->SetCheck(0);
		bRightMenu[7] = false;
	}
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnUpdateAlterFlag(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if((GlobalUser.right & ALTER_RIGHT) != 0){
			pCmdUI->SetCheck();
			bRightMenu[8] = true;
	}else{
		pCmdUI->SetCheck(0);
		bRightMenu[8] = false;
	}
	if(((GlobalUser.right & GRANT_RIGHT) != 0) || ((GlobalUser.right & REVOKE_RIGHT) != 0))
			pCmdUI->Enable();
	else
		pCmdUI->Enable(false);
}

void CMainFrame::OnCreateFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, CREATE_RIGHT, !bRightMenu[0]);
	GlobalUser.GetCurrentUser();
}

void CMainFrame::OnDeleteFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, DELETE_RIGHT, !bRightMenu[1]);
	GlobalUser.GetCurrentUser();
}

void CMainFrame::OnDropFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, DROP_RIGHT, !bRightMenu[2]);
	GlobalUser.GetCurrentUser();
}

void CMainFrame::OnGrantFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, GRANT_RIGHT, !bRightMenu[3]);
	GlobalUser.GetCurrentUser();
}

void CMainFrame::OnInsertFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, INSERT_RIGHT, !bRightMenu[4]);
	GlobalUser.GetCurrentUser();
}

void CMainFrame::OnRevokeFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, REVOKE_RIGHT, !bRightMenu[5]);
	GlobalUser.GetCurrentUser();
}

void CMainFrame::OnSelectFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, SELECT_RIGHT, !bRightMenu[6]);
	GlobalUser.GetCurrentUser();
}

void CMainFrame::OnUpdateFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, UPDATE_RIGHT, !bRightMenu[7]);
	GlobalUser.GetCurrentUser();
}

void CMainFrame::OnAlterFlag() 
{
	// TODO: Add your command handler code here
	GlobalUser.ChangeRight(GlobalUser.name, ALTER_RIGHT, !bRightMenu[8]);
	GlobalUser.GetCurrentUser();
}


void CMainFrame::OnUpdateName(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	CString str;
	str.Format("用户名: %s", GlobalUser.name);
	pCmdUI->SetText(str);
	pCmdUI->Enable();
}

⌨️ 快捷键说明

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