我在我的应用程序中使用扩展的 RichTextBox 控件来生成带有嵌入图像的 RTF 文档。我将图像嵌入为 EMF 元文件{\pict\wmetafile8\picw[A]\pich[B]\picwgoal[C]\pichgoal[D]...
在 Windows XP SP1、Windows Vista 和 Windows 7 中,文档生成正确,我不仅可以看到文档中的图像,还可以看到表格中包含的图像。
但是,在 Windows 8 中运行应用程序时,我只能看到嵌入的图像,前提是它们不包含在表格中。
我了解 Windows 8 使用新版本的 RichEdit 控件,并且我怀疑我的应用程序没有在 msftedit.dll 中找到 RICHEDIT50W,因此为了向后兼容而回退到 Windows 8 包含的旧版本。
这是我的扩展 RichTextBox 控件用于加载相应库的代码:
Private Shared Function LoadLibrary(ByVal lpFileName As String) As IntPtr
End Function
Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim lResult As IntPtr = LoadLibrary("msftedit.dll")
If lResult = IntPtr.Zero Then
MessageBox.Show(Marshal.GetLastWin32Error().ToString())
End If
Dim cp As CreateParams = MyBase.CreateParams
cp.ClassName = "RICHEDIT50W"
Return cp
End Get
End Property
如果不寻找正确的值,应该cp.ClassName
在 Windows 8 中加载适当的基本控件,或者在表格中嵌入图像是在新编辑器中丢失的东西?