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

来源:互联网 发布:人体工学椅 知乎 推荐 编辑:程序博客网 时间:2024/05/13 21:13


Visual Studio 2005
其他版本
1(共 2)对本文的评价是有帮助 评价此主题

本主题已针对 Visual Studio 2005 SP1 进行了更新。

Embedded Visual C++

  • CDaoFieldExchange Class

  • CDBVariant Class

  • CFieldExchange Class

  • CFontDialog Class

  • CLongBinary Class

  • COleCmdUI Class

  • COleCurrency Class

  • COleDataObject Class

  • COlePropertyPage Class

  • CPrintDialog Class

  • CPrintInfo Members

  • CSocketFile Class

在 Visual Studio 2005 SP1 中,设备 MFC 库中添加了 15 个 eVC MFC 类,以改善嵌入式 Visual C++ 项目移植。以下类在设备的 Visual Studio 2005 MFC 中不受支持,但在设备的 Visual Studio 2005 SP1 中受支持。

  • CBitmap Class

  • CDialogBar Class

  • CEditView Class

  • CFindReplaceDialog Class

  • CHttpConnection Class

  • CHttpFile Class

  • CInternetConnection Class

  • CInternetException Class

  • CInternetFile Class

  • CInternetSession Class

  • COleSafeArray Class

  • CReBar Class

  • CReBarCtrl Class

  • CRecentFileList Class

  • CSplitterWnd Class

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

  • CByteArray Class

  • CDWordArray Class

  • CMapPtrToPtr Class

  • CMapPtrToWord Class

  • CMapStringToOb Class

  • CMapStringToPtr Class

  • CMapStringToString Class

  • CMapWordToOb Class

  • CMapWordToPtr Class

  • CObArray Class

  • CObList Class

  • COleSafeArray Class

  • CPtrArray Class

  • CPtrList Class

  • CStringArray Class

  • CStringList Class

  • CUIntArray Class

  • CWordArray Class

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

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

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

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

  • 在设备的 MFC 8.0 中,CCeDocList 被重命名为 CDocList 类。

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

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

  • 在设备的 MFC 8.0 中,不再支持 CCommandBar::m_pDockBar 和 CCommandBar::m_pDockContext 成员。

  • 在设备的 MFC 8.0 中,LPINLINEIMAGEINFO 结构被 INLINEIMAGEINFO 替换。

  • Visual Studio 2005 向导生成的资源遵循 Windows Mobile 5.0 用户界面 (UI) 指南。这意味着所有应用程序的 MenuBar 类始终将符合惯例的“新建”按钮放在左边,而将“菜单”放在右边。因此,设备的 MFC 8.0 不支持 m_bShowSharedNewButton 变量。例如,如果您的应用程序代码使用的是 wndCommandBar.m_bShowSharedNewButton = TRUE;,则可以将该代码行注释掉并将您的应用程序移植到设备的 MFC 8.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 8.0 中,您可以安全地使用 DLN_DOCLIST_CREATE、DLN_DOCLIST_DESTROY 和 AFX_ID_DOCLIST。

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

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

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

0 0
原创粉丝点击