欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于MFC和ACCESS的学生综合素质能力评价系统软件开发(主界面)

程序员文章站 2021-11-30 12:06:32
注:本文所涉及软件已申请软件著作权,请勿盗版,侵权必究。文章目录三、主画面1、登录成功后的主画面三、主画面1、登录成功后的主画面(1)主画面设置为最大化:在类向导中找到CMainFrame类,添加ActivateFrame函数,在函数体内添加:nCmdShow=SW_SHOWMAXIMIZED;(2)使用新的菜单替换原有菜单在Menu中插入一个新Menu,设置其中的内容,保存为IDR_MENU1;在TCU_TQES_V2_0_1.cpp中的BOOL CTCU_TQES_V2_0....
注:本文所涉及软件已申请软件著作权,请勿盗版,侵权必究。


三、主界面

1、登录成功后的主界面

(1)主画面设置为最大化:
在类向导中找到CMainFrame类,添加ActivateFrame函数,在函数体内添加:

nCmdShow=SW_SHOWMAXIMIZED;

(2)使用新的菜单替换原有菜单
在Menu中插入一个新Menu,设置其中的内容,保存为IDR_MENU1;
在TCU_TQES_V2_0_1.cpp中的BOOL CTCU_TQES_V2_0_1App::InitInstance()中修改代码:

	pDocTemplate = new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CTCU_TQES_V2_0_1Doc),
		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
		RUNTIME_CLASS(CTCU_TQES_V2_0_1View));

将IDR_MAINFRAME改为IDR_MENU1。
菜单项依次设置好,并且分配好ID。
(3)不显示工具栏
将MainFrm.cpp中OnCreate中关于Toolbar的代码都注释掉即可。

//	pDocTemplate = new CSingleDocTemplate(
//		IDR_MENU1,
//		RUNTIME_CLASS(CTCU_TQES_V2_0_1Doc),
//		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
//		RUNTIME_CLASS(CTCU_TQES_V2_0_1View));

以及:

//	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
//	EnableDocking(CBRS_ALIGN_ANY);
//	DockControlBar(&m_wndToolBar);

(4)新建FormView
在资源界面Dialog上点右键,新建一个FormView,命名为IDD_FORMVIEW_SCORE。
打开类向导,提示添加一个新类,命名为CDlg_Score。

(5)在类向导中添加一个新类,命名为CMyFormView,基类是CFormView。在MainFrm.h中#include MyFormView.h。
在CMainFrame类中添加CMyFormView*类型的成员变量m_pView
在CMyFormView中重写create函数
为菜单对应的项添加响应函数:

void CMainFrame::OnScoreView() 
{
	// TODO: Add your command handler code here
	CRect crt;
	CCreateContext Cnt;
	GetClientRect(crt);
	Cnt.m_pCurrentDoc = NULL;
	m_pView= new CMyFormView;
	m_pView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, crt, this, IDD_FORMVIEW_SCORE1, &Cnt);
	m_pView->ShowWindow(SW_SHOW);
}

这样登录之后就进入到空白的主界面中。

2、进行主画面窗口分割

(1)将主画面分为三部分:上方标题、左侧树状目录和右侧主画面
(2)为标题和树状目录新建FormView资源
将原有在CMainFrame::OnCreate()函数中关于载入view的内容删除,在CMainFrame::OnCreateClient中加入如下代码:

	if(m_wndSplitter1.CreateStatic(this,2,1)==NULL)
		return FALSE;
	//将CCreateView连接到0行0列窗格上
	m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(FCformViewTitle),CSize(100,80), pContext);

	//将CView4连接到0行2列
	if(m_wndSplitter2.CreateStatic(&m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE,	m_wndSplitter1.IdFromRowCol(1, 0))==NULL)
		return FALSE; //将第1行0列再分开1行2列
	//将CView2类连接到第二个分栏对象的0行0列
	m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CFormViewTree),CSize(150,300),pContext);
	//将CView3类连接到第二个分栏对象的0行1列
	m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CFormViewMain),CSize(400,300),pContext);
	return TRUE;
	 return CFrameWnd::OnCreateClient(lpcs, pContext);

(3)在Title类中增加成员变量:
CBrush m_brushBackground;
CBitmap bmp;
增加成员函数OnDraw(CDC* pDC) ,并添加以下代码:
bmp.LoadBitmap(IDB_BITMAP_TITLE); ///加载位图
m_brushBackground.CreatePatternBrush(&bmp); ///创建位图画刷
CRect rect;
GetClientRect(rect);///取得客户区域
pDC->FillRect(rect,&m_brushBackground); ///用背景画刷填充区域
效果如下:
基于MFC和ACCESS的学生综合素质能力评价系统软件开发(主界面)

本文地址:https://blog.csdn.net/mona_limerick/article/details/112793917