HWND  hRichE;  
hRichE  =  ::CreateWindowEx(WS_EX_CLIENTEDGE,"RichEdit",NULL,ES_MULTILINE    ¦  
           ES_AUTOVSCROLL    ¦  WS_CHILDWINDOW    ¦ S_NOHIDESEL    
                         ¦  WS_VSCROLL  ,0,  10,  100,  100,  m_hWnd,  NULL, hInst,               NULL);  
 
           if(hRichE  !=  NULL)  
                       ShowWindow(hRichE  ,  SW_SHOW);  
           esle  
             DWORD  dwError  =  GetLastError();就这么简单的创建,
但是报1407的错误(LOOKERROR:找不到窗口类别)。
我把richedit换成“edit”,“combobox”等都可以。
这是为什么?
是不是richedit需要包含一些头文件或者lib什么的。

解决方案 »

  1.   

    需要先初始化吧
    呵呵
    AfxInitRichEdit()
      

  2.   

    AfxInitRichEdit()
    是mfc的函数吧,可我现在并不用mfc,win32中用什么函数?
      

  3.   

    呵呵,我已经知道了。
    因为richedit要用riched32.dll这个dll
    而AfxInitRichEdit()实际上就是做了LoadLibraryA("riched32.dll");的工作。
    当然不同的richedit版本需要的不同的dll,但是原理一样。
    在MFC下使用AfxInitRichEdit()
    在非MFC下,可以手工LoadLibraryA("riched32.dll");不要忘了最后要freelibrary()