Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;MFC VC 6.0到VS2013 lStreamReturn=GetRichEditCtrl().StreamIn(SF_RTF,es);_C++_Visual C++_Visual Studio 2013_Richtext - Fatal编程技术网

C++ C++;MFC VC 6.0到VS2013 lStreamReturn=GetRichEditCtrl().StreamIn(SF_RTF,es);

C++ C++;MFC VC 6.0到VS2013 lStreamReturn=GetRichEditCtrl().StreamIn(SF_RTF,es);,c++,visual-c++,visual-studio-2013,richtext,C++,Visual C++,Visual Studio 2013,Richtext,将工具从VC++6.0转换为VS2013时发现问题。该错误不是代码中的实际错误,因为代码编译时没有“错误”,而且工作正常。该程序经过了最小程度的调整,几乎没有对代码进行任何实际更改,以允许该程序在VS2013中正确运行和运行,或者我是这么认为的。当我们测试代码以从外部内存设备读取时,它在应用程序的左窗格中显示了RichText树,该树似乎与似乎存在的所有数据一起工作或运行,但我们习惯于在视觉上看到的RichText在主应用程序的右窗格中不存在。我最感兴趣的是,在原始程序中,您无法编辑文本,但在我

将工具从VC++6.0转换为VS2013时发现问题。该错误不是代码中的实际错误,因为代码编译时没有“错误”,而且工作正常。该程序经过了最小程度的调整,几乎没有对代码进行任何实际更改,以允许该程序在VS2013中正确运行和运行,或者我是这么认为的。当我们测试代码以从外部内存设备读取时,它在应用程序的左窗格中显示了RichText树,该树似乎与似乎存在的所有数据一起工作或运行,但我们习惯于在视觉上看到的RichText在主应用程序的右窗格中不存在。我最感兴趣的是,在原始程序中,您无法编辑文本,但在我们最新编译的程序中,您可以看到该区域没有改变其原始状态。几乎就好像数据进入了应用程序,但由于某种奇怪的原因,在显示到窗格之前,数据被取消或删除了

因此,当WCARichEdit.cpp执行此操作时,问题就出现了 "


除非SF_RTF更改为SF_文本,否则它将中断或抛出错误0。然后,代码生成所有数据,但格式将读入文本流。这是一条巨大的小溪。我们假设这段代码中的格式是导致编译代码时文本未显示的罪魁祸首。所以当SplitterFrame.CPP执行此操作时

"

" RichEditView->DisplayReport(pDoc,Report)似乎没有得到任何代码,因为它只是被归零。当SF_RTF保持不变时,dwError=0显示无变化,这一点得到确认


关于如何显示此富文本,您有什么想法吗?

在故障排除过程中,编写下面的代码是为了将字符串推送到文本文件中

#if
DWORD dwError;

CFile testfile;
if (0 == testfile.Open ("C:\\...rtftestfile.txt", CFile::modeCreate | CFile:modeWrite | CFile::shareDenyNone))
{
    dwError = GetLastError();
{
testfile.Write((LPCTSTR) Report, Report.GetLength());
testfile.Close();
#endif
文件创建成功,一时兴起,决定在WordPad中打开.text文件后保存文件。然后,我们将该文件保存为新的.rtf文件扩展名。奇怪的是,该程序没有查看我们所有的格式,而是在混合中添加了一些代码,因为写字板文件和文本文件的大小因大小而异。然后,我们将每个文件“拖放”到记事本程序中进行进一步检查。奇怪的是,一个“\rtf1”被添加到我们巨大的字符串的开头。奇怪的是,为什么写字板会加上这个…等等。实现了,我们返回并更改了代码

const char RTF_Header[] = "{\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fontbl{\\f0\\fnil\\fcharset0 Courier New;}}\\viewkind4\\uc1\\pard\\fs17 ";

学习的要点是,如果你知道你的格式正在破坏你的代码,把这个巨大的字符串打印到一个文件中,看看它在做什么,然后把它推到某个地方,把rtf格式放在它丢失的地方

另一个选择是让一个喜欢利用富格文本强大功能的人在场,并且能够记住所有格式化它的方法

如果您想勇敢面对,这里还有Microsoft论坛讨论:


在故障排除过程中,编写下面的代码是为了将字符串推送到文本文件中

#if
DWORD dwError;

CFile testfile;
if (0 == testfile.Open ("C:\\...rtftestfile.txt", CFile::modeCreate | CFile:modeWrite | CFile::shareDenyNone))
{
    dwError = GetLastError();
{
testfile.Write((LPCTSTR) Report, Report.GetLength());
testfile.Close();
#endif
文件创建成功,一时兴起,决定在WordPad中打开.text文件后保存文件。然后,我们将该文件保存为新的.rtf文件扩展名。奇怪的是,该程序没有查看我们所有的格式,而是在混合中添加了一些代码,因为写字板文件和文本文件的大小因大小而异。然后,我们将每个文件“拖放”到记事本程序中进行进一步检查。奇怪的是,一个“\rtf1”被添加到我们巨大的字符串的开头。奇怪的是,为什么写字板会加上这个…等等。实现了,我们返回并更改了代码

const char RTF_Header[] = "{\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fontbl{\\f0\\fnil\\fcharset0 Courier New;}}\\viewkind4\\uc1\\pard\\fs17 ";

学习的要点是,如果你知道你的格式正在破坏你的代码,把这个巨大的字符串打印到一个文件中,看看它在做什么,然后把它推到某个地方,把rtf格式放在它丢失的地方

另一个选择是让一个喜欢利用富格文本强大功能的人在场,并且能够记住所有格式化它的方法

如果您想勇敢面对,这里还有Microsoft论坛讨论:


我之所以发布这个,是因为我还没有解决这个问题。我之所以发布这个,是因为我还没有解决这个问题。
const char RTF_Header[] = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fontbl{\\f0\\fnil\\fcharset0 Courier New;}}\\viewkind4\\uc1\\pard\\fs17 ";