从 MFC 3.0 升级到 9.0 后不受支持的 eVC 类的列表

更新:2007 年 11 月

下面的类是 typedef,它们使用模板类提供等效的功能:

从 MFC 3.0 升级到 MFC 9.0 后 API 的行为差异

  • CDocument::SaveModified 对话框类和关联资源已经从所有平台的 MFC 9.0 中删除。因此,在 Pocket PC 2003 和 Smartphone 2003 平台上,DoSaveSaveModified 方法在使用时没有默认文件名,这些方法也没有对文件名的默认提示(如自动生成的文件名)。但是,在 Pocket PC 2003 平台上提供了一个可以重写此行为并提示文件名的选项。在 Smartphone 平台上,如果要提示文件名,可以调用 CDocManager::DoPromptFileName,。DoSaveSaveModified 方法的默认文件名行为在 Windows CE 平台上受支持,并且其功能与在桌面上相同。

  • 设备的 MFC 9.0 不提供停靠支持。例如,不支持 CCommandBar::m_pDockBarCCommandBar::m_pDockContext 成员。有关更多信息,请参见 CCommandBar 类。有关停靠支持的更多信息,请参见 Docking and Floating Toolbars

  • 在设备的 MFC 9.0 中,CDC::FrameRect 不再是 CDC Class 的成员。

  • 在设备的 MFC 9.0 中,CCeDocList 已重命名为 CDocList 类

  • 在设备的 MFC 9.0 中,CCeSocket 功能封装在 CAsyncSocket Class 中。

  • 在设备的 MFC 9.0 中,CFont::CreateFont 不受支持,可以改用 CFont::CreatePointFont

  • 在设备的 MFC 9.0 中,不再支持 CCommandBar::m_pDockBarCCommandBar::m_pDockContext 成员。

  • 在设备的 MFC 9.0 中,LPINLINEIMAGEINFO 结构已由 INLINEIMAGEINFO 替换。

  • Visual Studio 向导生成的资源遵循 Windows Mobile 5.0 用户界面 (UI) 准则。这意味着所有应用程序的 MenuBar 类始终将“新建”按钮放在左边,而将“菜单”放在右边。因此,设备的 MFC 9.0 不支持 m_bShowSharedNewButton 变量。例如,如果您的应用程序代码使用的是 wndCommandBar.m_bShowSharedNewButton = TRUE;,则可以将该代码行注释掉并将您的应用程序移植到设备的 MFC 9.0。

  • 如果应用程序代码使用的是 ON_NOTIFY(DLN_CE_CREATE, AFXCE_ID_DOCLIST 或 OnCreateDocList,,将会得到下面的编译错误:

  • MainFrm.cpp(42) : 错误 C2065: 'DLN_CE_CREATE' : 未声明的标识符

  • MainFrm.cpp(42) : 错误 C2065: 'AFXCE_ID_DOCLIST' : 未声明的标识符

  • 在 MFC 9.0 中,您可以安全地使用 DLN_DOCLIST_CREATE、DLN_DOCLIST_DESTROY 和 AFX_ID_DOCLIST。

  • 使用 MFC 9.0 时,您将无法链接到标准 CRT 库。

  • 移植到 MFC 9.0 时,请包含 # define _WIN32_WCE_PSPC。默认情况下,在 MFC 9.0 中未定义此标志。

  • 有关更多信息,请参见设备不支持的桌面 MFC 类的列表

请参见

概念

设备的 MFC C++ 和标准 MFC 之间的差异

其他资源

设备类的唯一 MFC