《深入浅出》 问题7 隆重出炉, 快来呀

ren20 2001-02-21 11:43:00
这回的问题比较简单,在第7章“MFC骨干程序” 中的“Document Template的意义”一节
(第320页)。下面的程序中:
书中摘录:
“如果程序支持不同的数据格式(例如一为TEXT,一为BITMAP),那么就需要不同的Document Template:

BOOL CMyWinApp::InItInstance()
{
...
CMultiDocTemplate* pDocTemplate;

pDocTemplate=new CMultiDocTemplate()(
IDR TEXTTYPE,
RUNTIME CLASS(CTextDoc),
RUNTIME CLASS(CChildFrame),
RUNTIME CLASS(CTextView));
AddDocTemplate(pDocTemplate);

pDocTemplate=new CMultiDocTemplate()(
IDR BMPTYPE,
RUNTIME CLASS(CTextDoc),
RUNTIME CLASS(CChildFrame),
RUNTIME CLASS(CBmpView));
AddDocTemplate(pDocTemplate);
...
}



为什么创建2个Document Template 还用一个pDocTemplate指针,不会出问题吗?
重新声明一个可以吗?(如下)
第二个为:

CMultiDocTemplate* pBMP;
pBMP=new CMultiDocTemplate()(
IDR BMPTYPE,
RUNTIME CLASS(CTextDoc),
RUNTIME CLASS(CChildFrame),
RUNTIME CLASS(CBmpView));
AddDocTemplate(pBMP);

一个pDocTemplate,一个pBMP。



...全文
252 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bugn 2001-02-22
  • 打赏
  • 举报
回复
要注意的是在你的程序里一般是不会直接使用到CDocTemplate(CSingle, CMulti)的
ren20 2001-02-22
  • 打赏
  • 举报
回复
我觉得这2个模版要一直用,所以应用2个全局变量,或static 常量保存其指针。

???
bugn 2001-02-22
  • 打赏
  • 举报
回复
用GetFirstDocTemplatePosition和GetNextDocTemplate可以枚举所有的了,本来pDocTemplate就是局部变量,没有记录到任何信息的。
freeclick 2001-02-22
  • 打赏
  • 举报
回复
这是由MFC框架自己管理的,而且确实是以链表方式管理的。
wang1st 2001-02-22
  • 打赏
  • 举报
回复
你可以这样想
在CWinAPP中有一个CPtrList m_pDocTemplateList;

AddDocTemplate是这样的函数:
void AddDocTemplate(CMultiDocTemplate* pDocTemplate){
m_templateList.AddTail(pDocTemplate);
}

其实是CWinApp中有一个CDocManager m_pDocManager
而CDocManager中有一个类似的链表。
ren20 2001-02-21
  • 打赏
  • 举报
回复
只用一个指针的话。
谁来记录第一个模版的指针???
ren20 2001-02-21
  • 打赏
  • 举报
回复
那这两个模版以后怎么用呢? 怎么标志他们呢?

系统怎么确认他们?
bugn 2001-02-21
  • 打赏
  • 举报
回复
重新声明一个也无所谓的
bugn 2001-02-21
  • 打赏
  • 举报
回复
当然不出问题,注意pDocTemplate是局部变量,用完了(AddDocTemplate)就扔掉了。
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 ### TDS 2014示波器使用手册知识点总结 #### 一、TDS 1000B 和 TDS 2000B 系列数字存储示波器概述 - **产品系列**: TDS 1000B 和 TDS 2000B 是由 Tektronix 公司所研发并推出的数字存储示波器产品线。 - **功能定位**: 主要致力于为电子工程师以及研发人员提供具备高性能与高精度的信号测量设备。 - **应用领域**: 此类设备被普遍应用于教育机构、研发实验室以及工业生产过程中的测试环节。 #### 二、TDS 2014示波器基本操作与使用 - **开机与基本设置**: - 在启动设备时,必须确保仪器已经正确接地。 - 在使用之前,需要根据观察需求设定合适的屏幕亮度、对比度等显示参数。 - **通道选择与配置**: - 可以通过触摸显示屏或设备前面板上的按钮来选定需要进行的测量通道。 - 可依据实际需求来调整垂直灵敏度、水平时间基准等设置项。 - **触发设置**: - 触发模式包括自动、常态、单次等多种选择。 - 触发源与阈值设定涉及确定触发信号的具体来源及其电压阈值水平。 - **测量与分析功能**: - 提供多种自动测量功能选项,涵盖电压峰峰值、频率等参数的测量。 - 支持对波形进行数学运算,例如执行两个波形的相加或相减操作。 #### 三、TDS 2014示波器高级特性 - **波形捕获率**: - 波形捕获率越高,意味着在检测偶发事件方面的能力越强。 - **波形存储与回放**: - 支持将波形数据存储到内部存储单元或外部存储设备中。 - 用户能够随时调取先前保存的波形数据,以进行深入分析。 - *...
内容概要:本文聚焦2026年高教社杯全国大学生数学建模竞赛B题“无线电干扰源的快速自动定位与清除”,同时整合了多个数学建模与工程技术仿真研究资源,涵盖SEM广告投放策略优化、无人机协同路径规划、电力系统无功优化、微电网调度、负荷预测、电动汽车响应率建模等多个领域。其中重点详述了SEM广告投放策略的系统性建模,构建了从问题诊断、关键词分类、预算优化到不确定性环境下鲁棒决策的完整框架。提出基于成本—效益二维归一化的五类关键词划分方法(黄金词、重点词、潜力词、问题词、无效词),并建立了0-1整数规划与CVaR鲁棒优化模型,实现注册转化最大化与风险控制的平衡。文档还汇集了大量基于Matlab/Simulink的仿真资源,涉及智能优化算法、机器学习、信号处理、路径规划等方向,并配套提供代码与论文支持,形成跨学科的技术资源共享平台。; 适合人群:具备一定数据分析与建模基础,正在准备数学建模竞赛或从事科研工作的本科生、研究生及工程技术人员。; 使用场景及目标:①应用于数学建模竞赛备赛,学习多目标优化、分类模型、鲁棒决策等建模范式;②开展广告投放、电力调度、路径规划等领域的科研项目时借鉴模型构建与算法实现方法;③通过提供的Matlab/Python代码快速复现经典或前沿研究成果,提升科研效率与实践能力。; 阅读建议:此资源集合了多个独立研究主题,建议读者根据自身研究方向选择性阅读,重点关注模型构建逻辑与算法实现细节,并结合所提供的Matlab/Python代码进行实践验证,以加深理解与应用能力。

16,550

社区成员

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

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

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