的
文档模板字符串的ID是相同的。这个ID被CmultiDocTemplate类用来识别与附加
文档类型相关的资源。 在应用程序的InitInstance()函数中,创建了另一个CMultiDocTemplate对象并且用CWinApp::AddDocTemplate()函数来注册。例如:
CMultiDocTemplate* pDocTemplate2 = new CMultiDocTemplate(
IDR_DOC2TYPE, RUNTIME_CLASS(CDoc2),
RUNTIME_CLASS(CMDIChildWnd),RUNTIME_CLASS(CView2));
AddDocTemplate(pDocTemplate2);
最后,将定制的序列化和绘图代码加入到你的新文档和视图类中。
(18)如何使我的程序在启动时不创建一个新文档? 在程序的InitInstance中的ProcessShellCommand函数之前加入: cmdInfo.m_nShellCommand = CCommandLineInf:FileNothing
(19) 如何获取应用程序的实例句柄? 应用程序的实例句柄保存在CWinApp m_hInstance 中,可以这么调用AfxGetInstanceHandle获得句柄.
(20)如何得到程序中其它类的指针(例如框架类,视类,文档类等等)?
请看此贴: [转帖]MFC应用程序中指针的使用
(21)为什么创建类的时候我不能直接生成从CDialogBar派生的类?
ClassVizard的确没有提供这个功能,要从没有提供的类派生类的时候只能通过手动修改来完成
(22)我用classwizard 给静态文本框加变量时,为什么里面没有它的ID??
因为所有的静态文本控件的ID都被默认为了IDC_STATIC,你只需要修改这个ID号就可以了
(23)获得各种目录信息 Windows目录: Use "GetWindowsDirectory" Windows下的system目录: Use "GetSystemDirectory" temp目录: Use "GetTempPath" 当前目录: Use "GetCurrentDirectory"
(24)如果让控制台应用
程序支持MFC类库? 可以在控制台应用程序中include 来引入mfc库,但是控制台应用程序缺省是单线程
的,mfc是多线程的,为解决该矛盾,在project setting->c/c++ 选项,选择code generation,在use run-time library 下拉框中选择debug multithread。
(25) 我怎样才能在我的应用程序中循环浏览已经打开的文档?
使用CDocTemplate中未公开的GetFirstDocPosition()和GetNextDoc()函数。
(26)才能在我的应用程序中循环浏览已经打开的视?
使 用 CDocument 中 未 公 开 的 GetFirstViewPosition() 和 GetNextView() 函 数。
(27)数PreCreateWindow是干什么用的?
PreCreateWindow 允 许 你 在 调 用 CreateWindow 之 前 来 改 变 窗 口 属 性。
(28)该怎样防止MFC在窗口标题栏上把文档名预置成应用程序名?
在 PreCreateWindow 函 数 中 删 除 FWS_PREFIXTITLE 标 志 的 窗 口 样 式: cs.style &;= ~FWS_PREFIXTITLE;
(29) 我应该怎样防止MFC在窗口标题栏上添加文档名?
在 PreCreateWindow 函 数 中 删 除 FWS_ADDTOTITLE 标 志 的 窗 口 样 式: cs.style &;= ~FWS_ADDTOTITLE ;
(30) 我应该如何改变视窗口的大小?
因 为 视 窗 口 实 际 上 是 框 架 窗 口 的 子 窗 口,所 以 你 必 须 改 变 框 架 窗 口 的 大 小,而 不 是 改 变 视 窗 口。使 用 CView 类 中 的 GetParentFrame() 函 数 获 得 指 向 框 架 窗 口 的 指 针,然 后 调 用 MoveWindow() 函 数 来 改 变 框 架 的 大 小。这 会 使 变 尺 寸 的 视 充 满 框 架 窗 口。
(31) 我有一无模式对话框。我怎样才能在窗口退出时删除CDialog对象?
把“delete this”加 到 PostNcDestroy 中。这 主 要 用 在 需 要 自 动 删 除 对 象 的 场 合。
(32) 为什么把“delete this”放在PostNcDestroy中而不是OnNcDestroy?
OnNcDestroy 只 被 已 建 立 的 窗 口 调 用。如 果 建 立 窗 口 失 败 ( 如 PreCreateWindow ),则 没 有 窗 口 处 来 发 送 WM_NCDESTROY 消 息。PostNcDestroy 是 在 对 象 窗 口 被 完 全 删 除,在 OnNcDestroy 后,甚 至 在 窗 口 建 立 失 败 之 后 调 用 的。
(33):如何为一个MFC应用程序添加ODBC功能? (1)在文件Stdafx.h文件末尾添加下面一行: #include // MFC ODBC database classes (2)在文本模式下编辑R