UpdateData(FALSE); }
(3)给时间Check添加函数 void CJsqDlg::OnCheck2() { // TODO: Add your control notification handler code here UpdateData(TRUE); if(m_TimeCheck==TRUE) { CTime tNow; tNow=CTime::GetCurrentTime(); CString sNow=tNow.Format(\ m_TimeEdit.SetSel(0,-1); m_TimeEdit.ReplaceSel(sNow); } else { m_TimeEdit.SetSel(0,-1); m_TimeEdit.ReplaceSel(\ } UpdateData(FALSE); }
(4)给Enable按钮添加函数 void CJsqDlg::OnButtonEnable() { // TODO: Add your control notification handler code here GetDlgItem(IDC_CHECK1)->EnableWindow(TRUE); GetDlgItem(IDC_CHECK2)->EnableWindow(TRUE); m_DateEdit.EnableWindow(TRUE); m_TimeEdit.EnableWindow(TRUE); }
(5)给Disable按钮添加函数 void CJsqDlg::OnButtonDisable() { // TODO: Add your control notification handler code here GetDlgItem(IDC_CHECK1)->EnableWindow(FALSE); GetDlgItem(IDC_CHECK2)->EnableWindow(FALSE); m_DateEdit.EnableWindow(FALSE); m_TimeEdit.EnableWindow(FALSE); }
(6)给清零按钮添加函数 void CJsqDlg::OnButtonClear() { // TODO: Add your control notification handler code here
10
// TODO: Add your control notification handler code here UpdateData(TRUE); m_DW2_XF = 3.5f; m_DZ1_XF = 1.5f; m_DZ2_XF = 1.5f; m_ENG3_CJ = 0.0f; m_ENG3_XF = 4.0f; m_ENG4_CJ = 0.0f; m_ENG4_XF = 4.0f; m_FB_XF = 2.0f; m_GL_CJ = 0.0f; m_GL_XF = 2.5f; m_MD_CJ = 0.0f; m_MD_XF = 4.5f; m_MY_XF = 3.0f; m_SD_CJ = 0.0f; m_SD_XF = 4.0f; m_SL_XF = 2.0f; m_TY3_XF = 1.0f; m_TY4_XF = 1.0f; m_WLSY_XF = 1.0f; m_XH_CJ = 0.0f; m_XH_XF = 3.5f; m_XXL_XF = 3.0f; m_ZK_CJ = 0.0f; m_ZK_XF = 3.0f; m_DW2_CJ = 0.0f; m_RESULT = _T(\ m_PJJD1 = _T(\ m_PJJD2 = _T(\ m_DateCheck = FALSE; m_TimeCheck = FALSE; m_TY3_CJ.SetCurSel(-1), m_MY_CJ.SetCurSel(-1),m_FB_CJ.SetCurSel(-1),m_SL_CJ.SetCurSel(-1),m_DZ1_CJ.SetCurSel(-1),
m_WLSY_CJ.SetCurSel(-1),m_TY4_CJ.SetCurSel(-1),m_XXL_CJ.SetCurSel(-1),m_DZ2_CJ.SetCurSel(-1); m_RESULT = _T(\ m_PJJD1 = _T(\ m_PJJD2 = _T(\ m_DateCheck = FALSE; m_TimeCheck = FALSE; UpdateData(FALSE);
11
}
(7)给连接工大网页按钮添加函数 void CJsqDlg::OnButtonWangye() { // TODO: Add your control notification handler code here ShellExecute(NULL,\}
(8)给鲁爽按钮添加函数,目的是显示自己的成绩 void CJsqDlg::OnButtonReset() { // TODO: Add your control notification handler code here UpdateData(TRUE); m_DW2_XF = 3.5f; m_DZ1_XF = 1.5f; m_DZ2_XF = 1.5f; m_ENG3_CJ = 75.0f; m_ENG3_XF = 4.0f; m_ENG4_CJ = 75.0f; m_ENG4_XF = 4.0f; m_FB_XF = 2.0f; m_GL_CJ = 81.0f; m_GL_XF = 2.5f; m_MD_CJ = 89.0f; m_MD_XF = 4.5f; m_MY_XF = 3.0f; m_SD_CJ = 91.0f; m_SD_XF = 4.0f; m_SL_XF = 2.0f; m_TY3_XF = 1.0f; m_TY4_XF = 1.0f; m_WLSY_XF = 1.0f; m_XH_CJ = 94.0f; m_XH_XF = 3.5f; m_XXL_XF = 3.0f; m_ZK_CJ = 92.0f; m_ZK_XF = 3.0f; m_DW2_CJ = 93.0f; m_TY3_CJ.SetCurSel(2), m_MY_CJ.SetCurSel(0),m_FB_CJ.SetCurSel(0),m_SL_CJ.SetCurSel(0),m_DZ1_CJ.SetCurSel(1),
m_WLSY_CJ.SetCurSel(1),m_TY4_CJ.SetCurSel(0),m_XXL_CJ.SetCurSel(1),m_DZ2_CJ.SetCurSel(0);
12
UpdateData(FALSE);/////////////////////////////////////////清空按键 }
(10)添加语句到void CJsqDlg::OnPaint()使显示背景图片 CPaintDC dc(this); CRect rect;
GetClientRect(&rect); CDC dcMem;
dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP1);
//IDB_BITMAP1是你自己的图对应的ID BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
7、考虑到大二一年的学分是固定的所以进行如下编写
8、图标修改过程
将选定的.jpg格式图片转换成.icon格式,将res文件夹中的.icon图片删掉,用自己的转换后的图片代替,虽然显示的还是原来的MFC形式,但是当运行后,就可以看到更改后的图标了。9、背景图片设置过程
13
选定好想要用的背景图片转换成.bmp格式,插入——资源
选择位图资源,引入刚才转换后的图片,然后添加背景设置的对应代码,如上述(10)
二、实验运行结果
三、出现的问题及解决方法
14
1、问题:添加背景图片时,提示图片超出256色无法显示 解决:用Photoshop软件打开图片,对图片适当修改,
选择图像——模式——索引图像,选择256色,确定然后保存图片,这样就可以使用了。
2、问题:修改后编译编辑都没有错误,但是运行时出现错误
解决:发现之前运行的界面没有关闭,关闭以前的运行界面后,再执行就没有错误了。 四、实验心得体会
通过本次C++设计,我对可视化编程有了更好的了解。设计平均绩点计算器,一方面学会了将上课学的一些控件综合进行应用,另一方面也锻炼了自己亲自编写程序的能力。为了使计算器的功能更加完善,界面更好些,需要在最基础的计算功能上添加其他功能,这就需要自己动脑和查阅资料,并学习对应功能的函数编写使用方法,在这个过程中,很是锻炼自己的自主学习思考能力。
15