我动态添加了一个richedit,但是运行到下面一句设置richedit背景色就出错,这个是怎么回事呢? 
好象设置其他的也都不行,请各位高人指点一下,万分感谢!!! 
CRichEditCtrl*  crctl; 
crctl=CreateWindowEx(0, RICHEDIT_CLASS,_T("12"),WS_VISIBLE ¦ WS_CHILD ¦ ES_MULTILINE ¦ES_WANTRETURN ¦ 
WS_VSCROLL ¦ WS_BORDER,20,20,200,200,m_hWnd,(HMENU)2,AfxGetInstanceHandle(),NULL); crctl->SetBackgroundColor(false,RGB(0,255,0)); //运行到这句就出错是不是我动态创建的方法不对?还是哪个参数设置有误?
还是我使用crctl变量有误?

解决方案 »

  1.   

    CreateWindowEx返回的是控件的句柄,不能当做指针来用。
      

  2.   

    应该:
    CRichEditCtrl* crctl = new CRichEditCtrl;
    crctl->Create(WS_VISIBLE¦WS_CHILD¦ES_MULTILINE¦ES_WANTRETURN¦WS_VSCROLL¦WS_BORDER,CRect(20,20,220,220),this,0);
    crctl->SetBackgroundColor(false,RGB(0,255,0));
      

  3.   

    用CRichEditCtrl,
    需要先调用下AfxInitRichEdit();
      

  4.   

    你用的是mfc还是sdk啊crctl是一个指向CrichEdiCtrl类的指针啊,而CreateEindowEx返回的是创建好的窗口的句柄啊,怎么能在这里用CreateEindowEx呢?你应该new一个实例,然后把这个实例的地址赋给crctl嘛CRichEditCtrl*  crctl; 
    crctl = new CRichEditCtrl;然后在调用CRichEditCtrl的Create方法crctl->Create(...) //参数自己看帮助 然后...crctl->SetBackgroundColor(false,RGB(0,255,0));