人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。相信许多人会觉得范文很难写?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。
c实验指导书篇一
年级:
姓名:
学号:
指导老师:
完成日期:
实验目的:
实验内容:
程序:
段(添加程序段 1 1开 :打开 mfc classwizard到,切换到 s messsage maps 页面,为对话框添加g wm_initdialog 消息映射,并增加下列代码。)bool ccitydlg::oninitdialog(){ cdialog::oninitdialog();m_dwzipcode = 100000;// 设置初始的邮政编码 updatedata(false);// 将邮政编码显示在控件中 // 使[ [ 删除] ] 按钮灰显 getdlgitem(idc_button_del)->enablewindow(false);return true;}(添加程序段 2 2 :在 e ccitydlg::isvalidate 函数输入下列代码)bool ccitydlg::isvalidate(){ updatedata();ft();if(y()){ messagebox(_t("城市名输入无效!"));return false;} return true;} e //isvalidate 函数的功能是判断城市名编辑框中的内容是否是有效的字符 // 串。代码中,t trimleft 是 是 g cstring 类的一个成员函数,用来去除字符串 // 左边的空格。
(添加程序段3 3 :打开 mfc classwizard,切换到 messs age maps 页面, , 为按钮 idc_button_add添加 d bn_clicked 的消息映射,并增加下列代码)void ccitydlg::onbuttonadd(){ if(!isvalidate())return;int nindex = ringexact(-1, m_strcity);if(nindex!= lb_err){ messagebox(_t("该城市已添加!"));return;} nindex = ing(m_strcity);
mdata(nindex, m_dwzipcode);}((添加程序段 4 4 :用 d mfc classwizard 为列表框 1 idc_list1 添加 e n_selchange 的消息映射,并增加下列代码。将会在编辑框中显示出城市名和邮政编码。))void ccitydlg::onselchangelist1(){ int nindex = sel();if(nindex!= lb_err){ t(nindex, m_strcity);m_dwzipcode = mdata(nindex);updatedata(false);// 使用当前列表项所关联的内容显示在控件上 getdlgitem(idc_button_del)->enablewindow(true);} }(添加程序段 5 5 :用 d mfc classwizard 为按钮 idc_button_del l 添加 d bn_clicked 的消息映射,并增加下列代码。)void ccitydlg::onbuttondel(){ int nindex = sel();if(nindex!= lb_err){ string(nindex);} else getdlgitem(idc_button_del)->enablewindow(false);}(添加程序段 6 6 :插入新增选项)void ccitydlg::onbuttoninsert(){ if(!isvalidate())return;int nindex=ringexact(-1,m_strcity);if(nindex!=lb_err){ messagebox(_t("城市名重名"));return;} nindex=sel();if(nindex!=lb_err){ nindex=string(nindex,m_strcity);mdata(nindex,m_dwzipcode);} }(添加程序段 7 7 :列表框的多项选择)void ccitydlg::onbuttonmultisel(){ int ncount=count();// 获取用户选中的项数
if(lb_err==ncount)return;int *buffer=new int[ncount];/ // / 开辟缓冲区 // 将各个选项的索引号内容放在缓冲区中 items(ncount,buffer);cstring str=_t("");// 对字符串对象的初始化 m_strcity=_t("");// 清空显示城市名的编辑框 for(int i=0;i
实验内容:
程序:
(添加程序段 1 1)bool cex_formdoc::onnewdocument(){ if(!cdocument::onnewdocument())return false;return true;}(添加程序段 2 2)void cex_formdoc::serialize(carchive& ar){ if(ing()){ // 得到主窗口指针 cmainframe * pframe=(cmainframe *)afxgetapp()->getmainwnd();// 得到当前活动的视图指针 cex_formview* pview=(cex_formview*)pframe->getactiveview();m_strtext=pview->m_stredit;ar<
实验内容:
程序:
(添加程序段 1 1)int nres = ex(this, tbstyle_flat, ws_child|ws_visible| cbrs_top |cbrs_gripper|cbrs_tooltips|cbrs_flyby|cbrs_size_dynamic,crect(0,0,0,0),afx_idw_toolbar + 10);if(!nres ||!olbar(idr_toolbar1)){ trace0("failed to create toolbarn");return-1;// fail to create } // 让工具栏可以停靠任何一边 docking(cbrs_align_any);docking(cbrs_align_any);enabledocking(cbrs_align_any);// 让框架窗口可以被停靠 dockcontrolbar(&m_wndtoolbar);// 让工具栏停靠在框架窗口 dockcontrolbar(&m_wndtestbar);return 0;}(添加程序段 2 2)int cmainframe::oncreate(lpcreatestruct lpcreatestruct){ // 关闭测试工具栏 showcontrolbar(&m_wndtestbar, false, false);return 0;}(添加程序段 3 3)void cmainframe::onviewtest(){ ();// 使菜单对象和菜单句柄分离 nu(idr_menu1);setmenu(null);// 清除应用程序菜单 setmenu(&m_newmenu);// 设置应用程序菜单 // 显示测试工具栏 showcontrolbar(&m_wndtestbar, true, false);// 关闭主工具栏 showcontrolbar(&m_wndtoolbar, false, false);} void cmainframe::ontestreturn(){ ();// 使菜单对象和菜单句柄分离 nu(idr_mainframe);setmenu(null);setmenu(&m_newmenu);// 关闭测试工具栏 showcontrolbar(&m_wndtestbar, false, false);// 显示主工具栏 showcontrolbar(&m_wndtoolbar, true, false);} 结果:
实验内容:
程序:
((添加程序段 1 1 :将状态栏 s indicators 数组的定义改为下列代码))static uint indicators[]= { id_text_pane }(添加程序段 2 2 :由于鼠标移动消息 e wm_mousemove 在 在 e cmainframe 类映射后不起作用,只能映射到 w cex_sdimouseview。
类中。e cmainframe 类定义的成员变量,需要在 cex_sdimouseview类中添加访问 cmainfe rame 类的代码。)void cex_sdimouseview::onmousemove(uint nflags, cpoint point){ cstring str;// 获得主窗口指针 cmainframe* pframe=(cmainframe*)afxgetapp()->m_pmainwnd;// 获得主窗口中的状态栏指针 cstatusbar* pstatus=&pframe->m_wndstatusbar;if(pstatus){ ("x=%d, y=%d",point.x, point.y);// 格式化文本 pstatus->setpanetext(1,str);// 更新第二个窗格的文本 } cview::onmousemove(nflags, point);}(添加程序段 3 3)void cex_sdimouse1view::onlbuttondblclk(uint nflags, cpoint point){ cstring str;// 获得主窗口指针 cmainframe* pframe=(cmainframe*)afxgetapp()->m_pmainwnd;// 获得主窗口中的状态栏指针 cstatusbar* pstatus=&pframe->m_wndstatusbar;if(pstatus){ ("双击鼠标");// 格式化文本 pstatus->setpanetext(1,str);// 更新第二个窗格的文本 } cview::onlbuttondblclk(nflags, point);} 结果:
实验五
c,,实验二
c,,实验三
c实验六范文
五上实验