static CLSID const clsid
= { 0xad962ea1, 0x4acc, 0x4345, { 0xb1, 0xe0, 0x46, 0x9d, 0x12, 0x44, 0xa9, 0x52 } };    //将被创建的控件的CLSID
int CHostTestView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
if(!m_wndSite.CreateControl(clsid,"",WS_CHILD|WS_VISIBLE,CRect(10,10,500,300),this,0))
                   return -1;
return 0;
}他总是提示说创建新文档失败!不知道是为什么?

解决方案 »

  1.   

    直接弹出对话框说创建新文档失败。就
    if(!m_wndSite.CreateControl(clsid,"",WS_CHILD|WS_VISIBLE,CRect(10,10,500,300),this,0))
    不行。
      

  2.   

    GetLastError这个还没用过呢! 脸红中……
    用uint 返回的是2。
    不太清楚怎么用,还请告知。谢谢
      

  3.   

    1 没有调用AfxEnableControlContainer
    2 控件没注册
      

  4.   

    弹出建立空文档失败的对话框是吗?如果是这样,那么问题可能产生在OnCreate的函数上,当它返回-1时,将出现这样的情况。可以推断出m_wndSite.CreateControl没有成功,推断你所提供的CLSID是错误的。或者AfxEnableControlContainer没有被调用。
      

  5.   

    建议用OLE/VIEW仔细的查找一下你要建立的控件的CLSID,然后拷贝过来就没问题了。
      

  6.   

    4E08A518-97D3-479B-B553-B75DA31028AE}
    我看了一下是上面的内容。和你给的格式不一样,编译也不认!
    我对这个不熟还请帮忙!谢谢。
      

  7.   

    用OLE/View查看一下ID,工具就在VC中
      

  8.   

    上面的id就是从ole/view里查到的。
      

  9.   

    我有个DEMO,可以发给你,你的EMAIL是?
      

  10.   

    我sina的没收到,要不你发到
    [email protected]