蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

在单文档程序中动态切换多个窗体---VC---文档中心---源码天空

  • 资源ID:52710216       资源大小:20.50KB        全文页数:8页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:15积分 【人民币15元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要15积分 【人民币15元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

在单文档程序中动态切换多个窗体---VC---文档中心---源码天空

在单文档程序中动态切换多个窗体 - VC - 文档中心 - 源码天空 新建一个基于CView的单文档应用程序,再添加一个窗体和与之对应的基于CView的新视类,然后通过在主框架类里添加限制代码和菜单限制实现这两个窗体的动态切换,下面就是详细的实现过程 (一) 用MFC AppWizard建立一个新项目Switch,并在其次步的创建类型上选择为Single documnet单文档模式,第三、四、五、六步均取确省状态,最终一步选择CView作为视类的基类。点按完成按钮,生成了初始工程Switch。 (二) 点选菜单Insert、Resource8230;,在弹出的Insert Resource对话框中Dialog树里的IDD_VIEW,点击New按钮,生成了一个新的窗体,将其ID号改为IDD_NEXT。在原有的窗体上加一个静态框这是第一个窗体;在新建的窗体上也添加一个静态框这是其次个窗体。 (三) 在菜单资源的IDR_MAINFRAME上添加一级菜单窗体切换,及其二级菜单第一个窗体、其次个窗体,其标识号分别为ID_FIRST和ID_SECOND。修该第一个窗体的属性为Checked,表明程序初始时显示的是第一个窗体。 (四) 在ClassView属性页里的Switch classes上右键,在弹出菜单上选择New Class8230;,弹出New Class对话框,选择Dialog ID为我们刚添加的新窗体IDD_NEXT,选择Base class为CView,类名取为CNextView,这样就把其次个窗体对应的视图类添加到了工程。 (五) 在框架类里添加函数SwitchTo() void CMainFrameSwitchToint n { // 获得原来的活动窗体的视图句柄 CView* pOldActiveView GetActiveView; // 获得由n标识的窗体所对应的视图句柄 CView* pNewActiveView CView* GetDlgItemn; // 若视图句柄为空,则创建一新的。 if pNewActiveView NULL { if n IDD_SWITCH_ pNewActiveView CView*new CSwitchView; if n IDD_NEXT pNewActiveView CView*new CNextView; CCreateContext context; context.m_pCurrentDoc pOldActiveView-gt;GetDocument; pNewActiveView-gt;CreateNULL, NULL, 0L, CFrameWndrectDefault, this, n, amp;context; pNewActiveView-gt;OnInitialUpdate; } // 选择pNewActiveView为活动窗体 SetActiveViewpNewActiveView; // 显示活动窗体,隐藏非活动窗体 pNewActiveView-gt;ShowWindowSW_SHOW; pOldActiveView-gt;ShowWindowSW_HIDE; int ID; if pOldActiveView-gt;GetRuntimeClass RUNTIME_CLASSCSwitchView ID IDD_SWITCH_; ifpOldActiveView-gt;GetRuntimeClass RUNTIME_CLASSCNextView ID IDD_NEXT; // 设置窗体的ID号 pOldActiveView-gt;SetDlgCtrlIDID; pNewActiveView-gt;SetDlgCtrlIDAFX_IDW_PANE_FIRST; RecalcLayout; } (六)添加两个菜单相对应的吩咐响应函数和更新函数如下 void CMainFrameOnFirst { // 通过IsKindOf函数确定当前活动窗口是否是第一个窗口,如是,则无须切换, // 否则将通过SwitchTo函数将当前活动窗口切换到IDD_SWITCH_ // 标识的其次个窗体。 if GetActiveView-gt;IsKindOfRUNTIME_CLASSCSwitchView return; SwitchToIDD_SWITCH_; } void CMainFrameOnUpdateFirstCUI *pUI { // 通过IsKindOf函数推断当前活动窗口是否是第

注意事项

本文(在单文档程序中动态切换多个窗体---VC---文档中心---源码天空)为本站会员(BR2h)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开