//=======================================================================================
// 读取rtf文件到richedit控件
//=======================================================================================
DWORD CALLBACK open_function(DWORD dwCookie, LPBYTE lpBuf, LONG nCount, LONG* nRead)
{
ReadFile((HANDLE)dwCookie, lpBuf, nCount, (LPDWORD)nRead, NULL);
return 0;
}void open(LPCTSTR lpFile, HWND hRiched)
{
HANDLE hFile = CreateFile(lpFile, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, NULL);
if(hFile)
{
EDITSTREAM es;
es.pfnCallback = open_function;
es.dwError = 0;
es.dwCookie = (DWORD)hFile;
SendMessage(hRiched, EM_STREAMIN, SF_RTF, (LPARAM)&es);
CloseHandle(hFile);
}
}
上述代码只能显示文本,不能显示图片。用CRichEditView是可以显示图片的,看它的源码看的头昏脑涨的,许多概念不清楚,看不明白。谁有现成的代码吗? 不要MFC要API的
// 读取rtf文件到richedit控件
//=======================================================================================
DWORD CALLBACK open_function(DWORD dwCookie, LPBYTE lpBuf, LONG nCount, LONG* nRead)
{
ReadFile((HANDLE)dwCookie, lpBuf, nCount, (LPDWORD)nRead, NULL);
return 0;
}void open(LPCTSTR lpFile, HWND hRiched)
{
HANDLE hFile = CreateFile(lpFile, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, NULL);
if(hFile)
{
EDITSTREAM es;
es.pfnCallback = open_function;
es.dwError = 0;
es.dwCookie = (DWORD)hFile;
SendMessage(hRiched, EM_STREAMIN, SF_RTF, (LPARAM)&es);
CloseHandle(hFile);
}
}
上述代码只能显示文本,不能显示图片。用CRichEditView是可以显示图片的,看它的源码看的头昏脑涨的,许多概念不清楚,看不明白。谁有现成的代码吗? 不要MFC要API的
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货