
Rich Edit Control in raw Win32Rich Edit Controls 的文档真的像看起来那样糟糕(错误?)吗?现在我手动调用 LoadLibrary("riched20.dll") 以显示富编辑控件。 Rich Edit 的文档在第一个使用 Rich Edit 控件的代码示例中未能很好地说明这一点。 它谈到调用 InitCommonControlsEx() 来添加视觉样式,但没有提到要传入哪些标志。 有没有更好的方法来加载 Rich Edit 控件? http://msdn.microsoft.com/en-us/library/bb787877(VS.85).aspx 这是我可以编写的唯一代码:
很多年前,我也遇到过同样的问题,是的,答案是手动加载 .dll。据我所知,原因是 RichEdit 窗口类注册在riched20.dll 的 DllMain 中。 使用 MFC,RichEdit 控件可以正常工作。 使用 InitCommonControlsEx() 加载 - ICC_USEREX_CLASSES 不加载 RichEdit AFAIK,您不需要它,因为它只加载不包括 Richedit 的"标准"通用控件。显然你只需要调用它来启用 Windows 中的"视觉样式",而不是让 RichEdits 工作。 如果您使用的是 2008,则您希望包含 Msftedit.dll 并改用 MSFTEDIT_CLASS(MS 有时为了向后兼容是垃圾)。 文档确实建议您正确地进行 Win32 编程。 是否有可以链接到的导入库(可能是riched20.lib)。这样您就不必在运行时"手动"加载它。这就是所有标准控件的工作方式。 VS 在创建项目时自动添加对 user32.lib 的引用。 我认为您必须在创建任何常用控件之前调用 CoInitializeEx。 不需要 LoadLibrary。如果您链接到正确的 .lib 文件,exe-loader 将为您处理这些详细信息。 |