在基于CFormView类的单文档视图机构中的对话框加RichEdit控件后,还没有任何操作此时编译可以通过,但运行时就跳出一个对话框,提示“建立空文档失败”还要在哪里加什么东西?

解决方案 »

  1.   

    就是拖了一个Rich控件到对话框里然后开始编译编译通过,运行提示“建立空文档失败”
      

  2.   

    1 如果找不到菜单资源 返回False 弹出“建立空文档失败”
    2 重载了PreCreateWindow而且返回False也会导致弹出“建立空文档失败”
    3 在OnCreate 里面返回-1 也会导致弹出“建立空文档失败”。看看你的LOADFRAME有没有出错.
      

  3.   

    还有,我建立一个基于对话框的工程,把RichEdit控件拖到里面其他什么都没干,然后就马上编译结果编译通过,运行却什么都不出来,也就是那个对话框都没有出来!而其他控件就不会有这个问题各位是否认为我的VC编译器出问题了?
      

  4.   

    在应用类的初始化函数里加入:
    OnFileNew()函数试试。
      

  5.   

    Important   If you are using a rich edit control in a dialog box (regardless whether your application is SDI, MDI, or dialog-based), you must call AfxInitRichEdit once before the dialog box is displayed. A typical place to call this function is in your program’s InitInstance member function. You do not need to call it for each time you display the dialog box, only the first time. You do not have to call AfxInitRichEdit if you are working with CRichEditView.我明白你的意思了.
    你加AfxInitRichEdit之后再试一试.
      

  6.   

    to syy64(太平洋):
    试了,不行
      

  7.   

    to ydfivy(花生薄脆饼):
    非常感谢
    在C*App类的InitInstance()里加上AfxInitRichEdit()以后就可以了
    注意不能在紧挨return前一句加,最好加在InitInstance()最前面还想问一下,在RichEdit类里显示一个字符串是什么啊?
      

  8.   

    为这个控件加一个字符串变量.UpdateData(FALSE)就能显示
      

  9.   

    to ydfivy(花生薄脆饼):
    改变字体的大小和颜色的函数是什么?再次谢谢你的快速耐心回答
      

  10.   

    这个控件我用了两个对应变量,一个是Cstring类没m_s,一个是CRichEditCtl类m_rm_s = "x";
    UpdateDate(false); CHARFORMAT cf;
    COLORREF t = RGB(0, 200, 200);
    m_r.GetDefaultCharFormat(cf);
    cf.yHeight = 500;
    cf.crTextColor = t;
    m_r.SetDefaultCharFormat(cf);
    COLORREF c= RGB(200, 200, 200);
    m_r.SetBackgroundColor(false, c);
    m_r.SetBackgroundColor(false, c);大小可以改变,颜色没有改变,什么地方错了?
      

  11.   

    CHARFORMAT cf;
    COLORREF t = RGB(0, 200, 200);
    m_r.GetDefaultCharFormat(cf);
    cf.dwEffects = CFE_PROTECTED;  //设置这个.
    cf.yHeight = 500;
    cf.crTextColor = t;
    m_r.SetDefaultCharFormat(cf);
    COLORREF c= RGB(200, 200, 200);
    m_r.SetBackgroundColor(false, c);
    m_r.SetBackgroundColor(false, c);
    这样就好了.变色了.
      

  12.   

    你可以查一查MSDN,上面写的挺多的.呵呵.
      

  13.   

    原来还有加cf.dwEffet = 0来取消字体颜色的掩盖
    以解决