Windos编程实验指导书解析

内容发布更新时间 : 2025/6/23 22:30:35星期一 下面是文章的全部内容请认真阅读。

用classwizard绑定各个控件的变量。

(11)添加并处理菜单项

在Ex_SDI2Doc.cpp文件的开始处,添加包含CStuInfoDlg类的头文件包含。

在菜单资源的主菜单中添加顶层菜单项“学生基本信息(&S)”,在该顶层菜单项中添加子菜单“添加(&A)”(ID_STUINFO_ADD)。

用MFC ClassWizard为CEx_SDI2Doc类添加处理菜单项ID_STUINFO_ADD的COMMAND 消息,并添加代码:

void CEx_SDI2Doc::OnStuinfoAdd() { // TODO: Add your command handler code here //打开添加学生信息的对话框 CStuInfoDlg dlg; if (dlg.DoModal() != IDOK) return; // 添加学生的一条记录

}

CStudentInfo *pStudent = new CStudentInfo(dlg.m_name, dlg.m_id, dlg.m_male, dlg.m_birth, dlg.m_special); m_stuObArray.Add(pStudent);

SetModifiedFlag(); // 设置文档更改标志 UpdateAllViews(NULL); // 更新视图

3. 修改CEx_StudentDoc类代码

在Ex_SDI2Doc.h文件的class CEx_SDI2Doc前面,添加包含CStudentInfo类的头文件。 #include \

为CEx_ SDI2Doc类添加下列成员变量:

public:

CObArray m_stuObArray; // 对象集合类对象

为CEx_SDI2Doc类添加成员函数CStudentInfo* GetStudentInfoAt(int nIndex),用来获取m_stuObArray中指定索引号的CStudentInfo类指针。

为CEx_SDI2Doc类添加成员函数int GetAllRecNum(void),用于获取集合类中对象的个数其代码如下:

在Ex_SDI2Doc.h头文件手工添加如下代码:

// Attributes public:

CObArray m_stuObArray; // 对象集合类对象 CStudentInfo* GetStudentInfoAt(int nIndex); //获取指定学生 int GetAllRecNum(void); //获取学生个数 在Ex_SDI2Doc.cpp实现文件手工添加如下代码:

CStudentInfo* CEx_SDI2Doc::GetStudentInfoAt(int nIndex) { //返回指定学生 return (CStudentInfo *)m_stuO

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi