- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
甘肃政法学院
面向对象程序设计
期末考试
题 目 学生管理信息系统的设计与开发
院 专业 级 班
学 号:__ xxx _
姓 名:_____xx _____
指导教师:_____ _____
成 绩:_______________
完成时间:_2011 年 _7 月
项目说明:
作为用户输入的接口,列表框中可列出用户所需的各种可能的选项,这样一来,用户不需要记住这些项,只需进行选择操作即可,但用户却不能输入列表框中列表项之外的内容。虽然编辑框能够允许用户输入内容,但却没有列表框的选择操作。于是很自然地产生这样的想法:把常用的项列在列表框中以供选择,而同时提供编辑框,允许用户输入列表框中所没有的新项。组合框正是这样的一种控件,它结合列表框和编辑框的特点,取二者之长,从而完成较为复杂的输入功能。
各功能模块的介绍河和源代码介绍:
1、组合框的类型如图一所示:但本程序用的是下拉式组合框。
2、城市邮政编码和区号对话框添加的空间如图二所示:
图二
为各控件增加的成员变量如图三所示:
图三
完善的各源代码
①、打开MFC ClassWizard的Member Variables页面,看看Class name是否是
CCityZoneDlg,然后选中所需的控件ID标识符,双击鼠标或单击Add Variables
按钮。依次为下列控件增加成员变量,如图三所示:
②、将项目工作区切换到ClassView页面,右击CCityZoneDlg类名,从弹出的快
捷菜单中选择“Add Member Function”,弹出Add Member Function对话框,在
Function Type(函数类型)框中输入BOOL,在Function Declaration(函数声明)框
中输入IsValidate,单击[OK]按钮
③、在CCityZoneDlg::IsValidate函数输入下列代码:
BOOL CCityZoneDlg::IsValidate()
{
UpdateData(); m_strCity.TrimLeft();
if (m_strCity.IsEmpty())
{ MessageBox(城市名输入无效!); return FALSE; }
m_strZip.TrimLeft();
if (m_strZip.IsEmpty())
{ MessageBox(邮政编码输入无效!); return FALSE; }
m_strZone.TrimLeft();
if (m_strZone.IsEmpty())
{ MessageBox(区号输入无效!); return FALSE; }
return TRUE;
}
④打开MFC ClassWizard,切换到Messsage Maps页面,为按钮
IDC_BUTTON_ADD添加BN_CLICKED的消息映射,并增加下列代码:
void CCityZoneDlg::OnButtonAdd()
{
if (!IsValidate()) return;
int nIndex = m_ComboBox.FindStringExact( -1, m_strCity );
if (nIndex != CB_ERR )
{ MessageBox(该城市已添加!); return; }
CString strData;
strData.Format(“%s,%s”, m_strZip, m_strZone); // 将邮政编码和区号合并为
一个字符串
m_ComboBox.SetItemDataPtr( nIndex, new CString(strData) );
}
⑤用MFC ClassWizard为按钮IDC_BUTTON_CHANGE添加BN_CLICKED的消
息映射,并增加下列代码:
void CCityZoneDlg::OnButtonChange()
{
if (!IsValidate()) return;
int nIndex = m_ComboBox.FindStringExact( -1, m_strCity );
文档评论(0)