📄 mainsdlg.cpp
字号:
/**
* <p> Title: 登录系统后进入的主窗口类实现 </p>
* <p> Description:为用户提供进入各模块的菜单选择 </p>
* <p> Copyright: Copyright (c) 2005-12-17 </p>
* <p> Company: bjut </p>
* @author gaok
* @version 1.0
* @Created on 2005-12-17
*/
#include "stdafx.h"
#include "resource.h"
#include "STMis.h"
#include "MainsDlg.h"
#include "STInfoDlg.h"
#include "XSAddDlg.h"
#include "StuMangeDlg.h"
#include "NoticeMangeDlg.h"
#include "SearchSTDlg.h"
#include "SearchXSDlg.h"
#include "SearchNoticeDlg.h"
#include "StMangeDlg.h"
#include "UserDlg.h"
#include "About.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainsDlg dialog
/*
* 构造函数
*/
CMainsDlg::CMainsDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMainsDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMainsDlg)
// NOTE: the ClassWizard will add member initialization here
m_username = _T("");
//m_bIsAdmin = true;
//}}AFX_DATA_INIT
}
void CMainsDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMainsDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
DDX_Text(pDX, IDC_EDIT1, m_username);
//}}AFX_DATA_MAP
}
// 建立MainsDlg的信息映射表
BEGIN_MESSAGE_MAP(CMainsDlg, CDialog)
//{{AFX_MSG_MAP(CMainsDlg)
ON_WM_PAINT()
ON_COMMAND(ID_MENUITEM32777, OnAddXS)
ON_COMMAND(ID_MENUITEM32782, OnStudentManage)
ON_COMMAND(ID_MENUITEM32774, OnMenuitem32774)
ON_COMMAND(ID_MENUITEM32785, OnSearchST)
ON_COMMAND(ID_MENUITEM32789, OnMenuitem32789)
ON_COMMAND(ID_MENUITEM32790, OnMenuitem32790)
ON_COMMAND(ID_MENUITEM32786, OnMenuitem32786)
ON_COMMAND(ID_MENUITEM32791, OnMenuitem32791)
ON_COMMAND(ID_APP_EXIT, OnAppExit)
ON_COMMAND(ID_MENUITEM32792, OnMenuitem32792)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMainsDlg message handlers
/**
* 初始化窗口,设置菜单各个选项的状态
*/
BOOL CMainsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// TODO: Add extra initialization here
if (!m_bIsAdmin) { // 如果登陆的用户是普通用户,那么只允许该用户进行查询操作
CMenu MainMenu; // 声明一个菜单对象
MainMenu.LoadMenu(IDR_TRAIN_MENU); // 载入菜单资源,成功返回非零值,失败返回零值
//int iC = MainMenu.CheckMenuItem(ID_MENUITEM32771,MF_BYCOMMAND|MF_CHECKED);
//MainMenu.GetSubMenu(0);
//MainMenu.ModifyMenu(ID_MENUITEM32771,MF_GRAYED,ID_MENUITEM32771,"增加"); // 将社团组织管理模块的增加功能置灰,不允许普通用户操作此功能
//MainMenu.ModifyMenu(ID_MENUITEM32772,MF_GRAYED,ID_MENUITEM32771,"修改"); // 将社团组织管理模块的修改功能置灰,不允许普通用户操作此功能
//MainMenu.ModifyMenu(ID_MENUITEM32773,MF_GRAYED,ID_MENUITEM32771,"删除"); // 将社团组织管理模块的删除功能置灰,不允许普通用户操作此功能
MainMenu.ModifyMenu(ID_MENUITEM32777,MF_GRAYED,ID_MENUITEM32777,"增加学生"); // 将学生信息管理模块的增加学生功能置灰,不允许普通用户操作此功能
SetMenu(&MainMenu); // 设定应用程序所使用之菜单
MainMenu.Detach(); // 将菜单资源与菜单对象分离
}
return TRUE; // return TRUE unless you set the focus to a control
}
/**
* 加载背景图案
*/
void CMainsDlg::OnPaint()
{
CPaintDC* pDC = new CPaintDC(this);
CBitmap bmp;
RECT Rect;
RECT RectView;
POINT ptSize;
CDC dcmem;
BITMAP bm;
int b = bmp.LoadBitmap(IDB_BITMAP_BG);
dcmem.CreateCompatibleDC(pDC);
dcmem.SelectObject(&bmp);
dcmem.SetMapMode(pDC->GetMapMode());
GetObject(bmp.m_hObject, sizeof(BITMAP), (LPSTR)&bm);
GetClientRect(&Rect);
ptSize.x = bm.bmWidth;
ptSize.y = bm.bmHeight;
pDC->DPtoLP((LPPOINT)&ptSize, 1);
GetClientRect(&RectView);
CRect RectBmp = RectView;
/* 图宽容纳不下的处理 */
if ((RectView.right - RectView.left) > bm.bmWidth) {
RectBmp.left = RectView.left + (RectView.right - RectView.left - bm.bmWidth)/2;
RectBmp.right = bm.bmWidth;
} else {
RectBmp.left = RectView.left;
RectBmp.right = RectView.right - RectBmp.left;
}
if ((RectView.bottom - RectView.top) > bm.bmHeight) {
RectBmp.top = RectView.top + (RectView.bottom - RectView.top - bm.bmHeight)/2;
RectBmp.bottom = bm.bmHeight;
} else {
RectBmp.top = RectView.top;
RectBmp.bottom = RectView.bottom - RectBmp.top;
}
/* 加载视图到设备上下文中 */
pDC->StretchBlt(RectBmp.left, RectBmp.top, RectBmp.right, \
RectBmp.bottom, &dcmem, 0, 0, bm.bmWidth, bm.bmHeight, \
SRCCOPY);
/* 删除设备上下文 */
dcmem.DeleteDC();
}
/**
* 学生信息管理--增加
*/
void CMainsDlg::OnAddXS()
{
CXSAddDlg m_XSAdd; // 增加学生
m_XSAdd.m_username.Format("%s",m_username); // 获得录入人
m_XSAdd.DoModal();
}
/**
* 社团组织管理--增加功能设置为无效
*/
void CMainsDlg::OnUpdateMenuitem32771(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->Enable(m_bIsAdmin); // 如果是普通用户登录,将社团管理模块的增加功能设为无效
}
/**
* 学生信息管理--学生信息维护
*/
void CMainsDlg::OnStudentManage()
{
CStuMangeDlg m_StuMange; // 学生信息维护窗口对象
m_StuMange.m_username.Format("%s",m_username); // 获得录入人
m_StuMange.m_bIsAdmin = m_bIsAdmin; // 是否是管理员
m_StuMange.DoModal(); // 实例
}
/**
* 活动管理--通知信息维护
*/
void CMainsDlg::OnMenuitem32774()
{
CNoticeMangeDlg m_NoticeMange; // 学生信息维护窗口对象
m_NoticeMange.m_username.Format("%s",m_username); // 获得录入人
m_NoticeMange.m_bIsAdmin = m_bIsAdmin; // 是否是管理员
m_NoticeMange.DoModal(); // 实例
}
/**
* 综合查询--社团查询
*/
void CMainsDlg::OnSearchST()
{
// 给定学生信息,查询社团信息
CSearchSTDlg m_SearchSTDlg;
m_SearchSTDlg.DoModal(); // 实例
}
/**
* 综合查询--学生信息查询
*/
void CMainsDlg::OnMenuitem32789()
{
// 给定社团名称,查询学生信息
CSearchXSDlg m_SearchXSDlg;
m_SearchXSDlg.DoModal(); // 实例
}
/**
* 综合查询--活动信息查询
*/
void CMainsDlg::OnMenuitem32790()
{
CSearchNoticeDlg m_SearchNoticeDlg;
m_SearchNoticeDlg.DoModal(); // 实例
}
/**
* 系统管理--用户设置
*/
void CMainsDlg::OnMenuitem32786()
{
CUserDlg Dlg;
Dlg.m_username.Format("%s",m_username); // 获得录入人
Dlg.m_IsAdmin = m_bIsAdmin; // 是否是管理员
Dlg.DoModal();
}
/**
* 注销
*/
void CMainsDlg::OnClose()
{
if(AfxMessageBox("您确定要退出系统吗?",MB_OKCANCEL)==IDCANCEL)
{
return;
}
this->OnCancel(); // 退出系统
}
void CMainsDlg::OnMenuitem32791()
{
// TODO: Add your command handler code here
CAbout aboutDlg;
aboutDlg.DoModal();
}
void CMainsDlg::OnAppExit()
{
// TODO: Add your command handler code here
OnClose();
}
/**
* 社团组织管理--社团组织维护
*/
void CMainsDlg::OnMenuitem32792()
{
CStMangeDlg m_StMange; // 社团组织维护窗口对象
m_StMange.m_username.Format("%s",m_username); // 获得录入人
m_StMange.m_bIsAdmin = m_bIsAdmin; // 是否是管理员
m_StMange.DoModal(); // 实例
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -