怎么加入一个新视图!

Roy_Sashulin
重庆医济智联科技有限公司官方账号
2004-11-20 09:12:38
我现在后期想加入一个自己新插入的类CFormView,在某MenuItem点击后会出现自己新建的这个CFormView,如何实现啊?
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Roy_Sashulin 2004-11-21
  • 打赏
  • 举报
回复
非常感谢你。
xuguilin 2004-11-21
  • 打赏
  • 举报
回复
我觉的你应该在New Window 这个框架自动生成的菜单中添加自己相应代码,如在用户点击这个菜单的时候你就弹出一个对话框让用户选择哪一种方式的View。我们在CChildFrame中的OnCreateClient中
可以根据用户选择的不同View来设置pContext中的CurView的值这样就可以生成不同的View了。当然你也可以使用多文档类型的结构也可以;另外你也可以考虑使用拆分窗口的方式来实现这一功能;
总之,我觉的你不应该自己来创建CChildFrame,而应该有MFC来给你创建,你只是在CChildFrame中创建它的Client的时候才去干涉让它创建自己要求的View的风格;
Roy_Sashulin 2004-11-21
  • 打赏
  • 举报
回复
现在在MDI中能出来了,但它没有最大化,最小化按钮,并且窗体上的控件不能被激活,不像file->new
那样能出来一个Child窗体,附此代码:
void CMainFrame::OnTwo()
{
SwitchToForm(IDD_DIALOG2);
}

void CMainFrame::SwitchToForm(int nForm)
{
//CDocument* pDoc = GetActiveDocument();
CView *pOldActiveView=GetActiveView(); //保存旧视图
CView *pNewActiveView=(CView*)GetDlgItem(nForm); //取得新视图
if(pNewActiveView==NULL)
{
switch(nForm)
//这些ID是对话框的标志符,但也可以用其他的标志
{
case IDD_DIALOG1 :
pNewActiveView=(CView*)new COne;
break;
case IDD_DIALOG2 :
pNewActiveView=(CView*)new CTwo;
break;
}
CCreateContext context; //将文挡和视图相连
context.m_pCurrentDoc=pOldActiveView->GetDocument();
if (pNewActiveView==NULL)
{
AfxMessageBox("aaa");
}
else
{
AfxMessageBox("bbb");
}
pNewActiveView->Create(NULL, NULL, WS_BORDER|WS_CHILD ,
this->rectDefault, this, nForm, &context);

pNewActiveView->OnInitialUpdate();
}
SetActiveView(pNewActiveView); //改变活动的视图
pNewActiveView->ShowWindow(SW_SHOW); //显示新的视图
pOldActiveView->ShowWindow(SW_HIDE); //隐藏旧的视图

if(pOldActiveView->GetRuntimeClass() ==RUNTIME_CLASS(COne))
pOldActiveView->SetDlgCtrlID(IDD_DIALOG1);

else if(pOldActiveView->GetRuntimeClass() ==RUNTIME_CLASS(CTwo))
pOldActiveView->SetDlgCtrlID(IDD_DIALOG2);

pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);



delete pOldActiveView; //删除旧视图

RecalcLayout(); //调整框架窗口

}
Roy_Sashulin 2004-11-20
  • 打赏
  • 举报
回复
我的程序是MDI框架的。
Kudeet 2004-11-20
  • 打赏
  • 举报
回复
http://www.czvc.com/down.asp?id=10
1001-Windows XP的硬体需求为何 1002-NTFS 与 FAT32 格式的选择 1003-查 Windows XP 是否已产品启动 1004-在安装 Win XP 後安装 Windows 2000 1005-安装 Windows XP 1006-移除 Windows XP 1007-从 FAT32 转换 NTSF 格式 1008-从 NTFS 转换 FAT32 格式 1009-更换 Windows XP 的序列号 1010-那些 Windows 版能够升级成 Windows XP 1011-Windows 98/NT/2000及XP安装在同一电脑上 1012-视窗作业系统的整合 1013-硬体驱动程式 1014-检查 Windows XP 是否登记 1015-将〔修复控制台〕安装在硬碟内 1016-辨认真假中文版XP的方法 1017-XP减肥方法 1018-WINDOWS 错误代码 1019-Windows XP 家用版及商业版功能对比   Windows XP 开机&关机 2001-加快XP开机及关机速度 2002-加快预读能力改善开机速度 2003-关机时自动关闭停止回应程式 2004-在启动电脑时执行 Defrag 程式 2005-减少多重启动时等待时间 2006-减少宽频网卡在开机时等待的时间 2007-使用微软 Bootvis.exe 优化启动速 2008-移除启动时载入不需要的程式 2009-停用不需要的服务 2010-制做XP开机磁片 2011-XP的自动关机问题 2012-加快开机的时间 2013-关机有捷径 2014-重启动有捷径 2015-备份及还原视窗启动档 2016-修复 Windows XP 的启动 修改 Windows XP 设定的秘技 3001-在〔我的电脑〕上隐藏磁碟机 3002-解决忘记用户登入密码的问题 3003-取消用户密码的有效期 3004-在〔我的电脑〕上更改光碟机名称 3005-更改磁碟机代号 3006-在安装驱动程式时停用〔数位签署〕检查 3007-修改其他用户的登录档 3008-将安全模式加入启动电脑的选择内 3009-在系统内容中显示个人化标志及内容 3010- 更改登记人姓名及组织名称 3011-在指定的目录下开启 Command Prompt 3012-使用 Dir 命令时先显示档案名称 3013-善用 Command Prompt 3014-临时设定为〔电脑系统管理员〕 3015-在使用执行档案时省却键入档案的伸延名称 3016-把 Administrator 加回在登入选单内 3017-自动整批更改档案名称 3018- 更改档案总管 Thumbnail 的大小 3019-随时可使用〔记事本〕开启档案 3020-临时关闭登入用户 3021-快速建立电脑系统资料档案 3022-登入画面时使用开启数字键为预设值 3023-登入〔Regedit〕保持在根目录 3024-『踩地雷』的时间暂停 3025-控制台在开始列内 3026-把资源回收筒都放在开始列内 3027-将资源回收筒改名 3028-改变资料夹背景 3029-开始列内的程式集分开成两行排列 3030-隐藏控制台图示 3031-档案总官跑马灯 3032-如何还原 Registry 3033-以Registry限制电脑使用权 3034-将〔修复控制台〕安装在硬盘内 3035-更改预设启动作业系统 3036-使用远端协助 3037-当插入光盘时立即更内容 3038-停止或自动执行光碟机启动程式 3039-更改暂存档储存目录 3040-关闭启动时视窗标志画面 3041-停止启用Windows Messenger 3042-任意设定档案总管开启时的位置 3043-制作一只真正的XP启动软盘 3044-个人化硬盘驱动器的图标 3045-即时锁定电脑 3046-缩短系统启动时 chkdsk 的等待时间 3047-不把删除的档案移到资源源回收筒 3048-关闭档案总管使用 Zip 档案为目录 3049-定时自动关闭电脑 3050-自选文件夹背景 3051-关闭 windows 自动更 3052-WinXP的动态ADSL拨接功能 3053-XP里怎麽开DMA 3054-XP里关闭光碟Autorun功能 3055-XP关闭系统休眠功能 3056-XP关错误回报 3057-把数位签署忽略掉 3058-使用回旧版的 Windows Media Player 3059-如何让XP自动连线 3060-硬碟资料的管理: 3061-启动Win时,播放midi档 3062-救回从磁碟中删除的档案 3063-释放记忆体的方式 3064-造成硬碟毁灭性故障的错误及操作 3065-Office XP 30天的限制 3066-破解右键封锁 3067-接龙你玩晒 3068-伤心小栈看到电脑的牌底 3069-移除 Windows Messenger 3070-关闭自动重启动功能 3071-找回剪贴簿检视工具 3072-移除共用分享及用户文件夹 3073-停用〔系统还原〕程式 3074-停用错误通知及报告 3075-停用系统休眠 3076-开启光盘机的 DMA 管理 3077-开启或关闭防火墙 3078-在 Windows Media Player 8 选择左右声度 3079-使用 Windows Media Player 8 播放 DVD 盘 3080- 取消 Windows 图片及传真检视器的预设值 3081-安装 Netmeeting 3082-〔远端桌面〕连线设定 3083-停止〔磁碟空间不足〕的通知 3084- 将双击鼠标的功能以单击取缔 Internet Explorer 浏览器相关 4001-Internet Explorer 快速键 4002-加快上网浏览的速度 4003-取消 IE 自动缩图功能 4004-更换 IE 右上角的图标 4005-让 IE6 可以同时下载超过两个档案 4006- 修改或个人化 Internet Explorer 的标题列 4007- 彻底除去 Internet Explorer 工具列上其它图示 4008- 除去 Internet Explorer 工具列上其它工具列 4009-移动〔我的最爱〕资料夹 4010-更改工具列背景 4011-修正 Internet Explorer 的首页画面 4012-将〔我的最爱〕设定为首页画面 4013-解除网页禁用鼠标右键 4014-快速输入网址 4015-自订网上搜索器 4016-即时检查所浏览网页最後更时间 4017- 加快 Internet Explorer 开启的速度 4018-刷时不读取网页的快取档 4019-Internet Explorer 6 加强器 4020- 快速修改网址 4021-快速在视将开启网页 4022-重安装 Internet Explorer 4023-在浏览http网站时有时会出现一些状态的代码 Windows 区域网路及网际网路相关 5001-XP的网路芳邻让别人可以登录你的电脑 5002-WinXP区域网路定位 5003-加快拨号上网的速度 5004-增加开"网路上的芳邻" 分享的速度 5005-安装 NetBEUI 通讯协议 5006-让您的 ADSL 飞起来! 5007-让您的 CABLE 飞起来!   最佳化Windows XP 设定 6001-善用 CPU 的 L2 Cache 加快整体效能 6002-自动关闭停止回应程式 6003-清除记忆体内被不用的DLL文件 6004-加快宽频连接速度 6005-加快选单显示速度 6006-加快自动更率 6007-关闭 XP 内设的烧碟功能 Outlook Express 相关 7001-寄邮件有捷径 7002-如何删除信件中的">" 7003-解决 Outlook Express 不能打开附件的问题 7004-如何备份邮件 7005-如何汇入以前备份的邮件呢? 7006-个人化 Outlook Express 的标题列 7007-不显示 Outlook Express 的启动画面   桌面调整项目 8001-播放个人相片集作为萤幕保护 8002-储存桌面的设定 8003-在〔开始〕选单上不显示经常使用的程式 8004-在〔开始〕选单上不显示〔所有程式〕选单 8005-在〔开始〕选单上不显示用户名称 8006-在〔开始〕选单上不显示〔执行〕 8007-除去桌面上捷径图标上的箭头 8008-除去桌面上捷径图标下的底色 8009-更改工具列快速启动的宽度 8010-更改回使用传统的「开始」功能表 8011-隐藏工具列的小时钟 8012-增加/更改桌面图标 8013-保持桌面时钟的准确 8014-停用安装项目在程式选择表上以黄色显示 8015-停用使用中程式在工具列堆叠显示 8016-停用程式选择表分行显示 8017-增加在工具列平列显示开启程式的数量 8018-显示视窗版本於桌面上 8019-显示音量控制在工具列上 快捷键一览表 9001-一般键盘快速键 9002-自然键盘的快速键 9003-对话方块的键盘快速键 9004-协助工具键盘快速键 9005-〔Windows 档案总管〕的键盘快速键 9006-Internet Explorer 快速键

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧