错误: 无法显示游标时链接到 MFC BLOCKS32 示例

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

208856
本文已归档。它按“原样”提供,并且不再更新。
症状
通常,移动鼠标 pointerover 矩形或椭圆 BLOCKS32 示例中插入的时, 根据鼠标的位置就会出现一个不同的鼠标光标。

但是,您编译 BLOCKS32 示例使用 在静态库中使用 MFC 选项,如果不同的游标不会出现一个矩形或椭圆上移动鼠标指针时。
原因
当应用程序通过使用静态库链接到 MFC 时,MFC 资源都将被编译到应用程序的可执行文件中。应用程序的可执行文件将包括 Afxres.rc 文件。若要检查此,单击在 视图 菜单上的 资源包括。Afxres.rc 文件具有 CRectTracker 使用 MFC 源代码中的资源。

这些资源是只包含未 _AFX_NO_TRACKER_RESOURCES 时定义。BLOCKS32 项目有 _AFX_NO_TRACKER_RESOURCES 定义。因此,它不会在应用程序的可执行图像中放置 CRectTracker 要求的资源。因此,都不使用的 CRectTracker 游标将显示在生成该示例使用 MFC 静态时。
解决方案
  1. 视图 菜单上单击 资源包括
  2. 删除以下行:
       #define _AFX_NO_TRACKER_RESOURCES 				
状态
Microsoft 已经确认这是在 Microsoft 中的错误在本文开头列出的产品。
更多信息

重现行为的步骤

  1. 从该的 MSDN Microsoft 开发人员提取 Blocks32.exe 示例网络。
  2. 项目 菜单上单击 设置
  3. 更改要 使用在静态库中的 MFC使用 MFC 在共享 DLL 中
  4. 生成,然后运行该应用程序。
  5. 新建 菜单中单击 矩形
  6. 请注意当您将鼠标指针移到矩形时,将光标消失。
查看 Afxres.rc 文件为文本文件,您将看到 CRectTracker 资源只包含未 _AFX_NO_TRACKER_RESOURCES 时定义的。
示例静态动态资源

警告: 本文已自动翻译

属性

文章 ID:208856 - 上次审阅时间:02/22/2014 20:14:41 - 修订版本: 2.0

  • Microsoft Visual C++ 5.0 企业版
  • Microsoft Visual C++ 6.0 企业版
  • Microsoft Visual C++ 5.0 专业版
  • Microsoft Visual C++ 6.0 专业版
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • kbnosurvey kbarchive kbmt kbbug kbcontainer kbcursor kbnofix KB208856 KbMtzh
反馈