了.. (16)如何改变视图的背景色? 如何改变视图的背景色? 如何改变视图的背景色 你可以通过处理 WM_ERASEBKGND 消息来改变 CView、CWnd 或 CWnd 对象的背景色 (17)如何建立多文档? )如何建立多文档? 为了加入对附加文档类型的支持,你可以在 CWinApp 派生类中创建和注册附加 CmultiDocTemplate 对象。。将一个附加文档类型加入到 MFC 程序的一般步骤如下: 用 AppWizard 来创建一个新的文档类和视图类。 用资源编辑器增加新的资源字串来支持新的文档类。 要想知道关于文档样板字符串格式的更 多内容,请参阅"如何理解文档样板字符串"。 用资源编辑器增加附加的应用程序图标和菜单资源。注意,这些资源中每一个的 ID 都必须 与在步骤 2 中创建的文档模板字符串的 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_ADDT