C++ C++;WIN32 RichEdit控件don';不放流

C++ C++;WIN32 RichEdit控件don';不放流,c++,win32gui,richedit-control,C++,Win32gui,Richedit Control,我试着把数据放到我的RichEdit50W上,但它不起作用。我真的需要帮助 我的函数CreateRichEdit: void CreateRichEdit(HWND hwndOwner, int x, int y, int width, int height, HINSTANCE hinst) { LoadLibrary(TEXT("Msftedit.dll")); edittext = CreateWindowEx(0, TEXT("RICHEDIT50W"), TEXT("

我试着把数据放到我的RichEdit50W上,但它不起作用。我真的需要帮助

我的函数CreateRichEdit:

void CreateRichEdit(HWND hwndOwner, int x, int y, int width, int height, HINSTANCE hinst)
{
    LoadLibrary(TEXT("Msftedit.dll"));

    edittext = CreateWindowEx(0, TEXT("RICHEDIT50W"), TEXT("Type here"), ES_MULTILINE | WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP | ES_AUTOVSCROLL | WS_VSCROLL,
        x, y, width, height,
        hwndOwner, NULL, hinst, 0);

    char * bidule = "coucou c'est moi";
    EDITSTREAM es = { 0 };
    es.dwCookie = (DWORD_PTR)bidule;
    es.dwError = 0;
    es.pfnCallback = EditStreamInCallback;

    bool ok = false;
    if (SendMessage(edittext, EM_STREAMIN, SF_RTF, (LPARAM)&es) == 0) {
       ok = true;
    }
}
在我的函数EditStreamInCallback中,在变量'txt'中,我得到了文本“coucou c'est moi”。但之后,当我尝试使用pbBuff编写时,我在我的富文本框中看不到结果:

DWORD CALLBACK EditStreamInCallback(DWORD_PTR dwCookie, LPBYTE pbBuff, LONG cb, LONG * pcb)
{
   if (!cb)
      return (1);

   char * txt = (char *) dwCookie;

   int i;

   for (i = 0; i < 3; i++)
   {
       *(pbBuff + i) = 'a';
   }
   *(pbBuff + i) = '\0';
   *pcb = 3;

   return (0);
}
DWORD回调EditStreamInCallback(DWORD_PTR dwCookie、LPBYTE pbBuff、长cb、长*pcb)
{
如果(!cb)
申报表(1);
char*txt=(char*)dwCookie;
int i;
对于(i=0;i<3;i++)
{
*(pbBuff+i)=‘a’;
}
*(pbBuff+i)='\0';
*pcb=3;
返回(0);
}
我绝对需要帮助!你有什么解决办法吗


提前谢谢

它不适用于SF_文本。我的应用程序循环。我绝对需要使用RTF来获取RTF中的文本,并将RTF文本添加到rich edit文本框中,并且RichEdit文本框将格式化我的RTF文本。这与相同,那么为什么你要就同一问题提出新问题,而不是评论和更新另一个问题?