因为不需要用到CDocument类,准备跟数据库相连,所以不能用OnInitiaUpdate()初始化吧,不知道该在哪个函数初始化呢??第一次使用多文档中添加子框架窗口,里面很多东西都不大明白,请高手指教,说清楚一些。

解决方案 »

  1.   

    如果不在OnInitiaUpdate中初始化,也可以响应WM_CREATE消息,在OnCreate函数中初始化(调用基类函数之后)。
      

  2.   

    放构造函数或OnInitiaUpdate中都可以
      

  3.   

    构造函数也只能初始化CString类型的变量,要是控制变量就不行了
      

  4.   

    试过了,不行~放在ShowWindow里也不行。
      

  5.   

    初始化控件,比如向CComboBox中Addstring一些项
      

  6.   

    在OnCreate()函数里初始化例子m_pButton = new CButton;
    m_pButton->Create(
    "TestDymanicButton", BS_RIGHT | WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_NOTIFY,
    CRect(300, 20, 435, 45),
    this,
    5500 //按钮ID,大于WM_USER
    );
    m_pButton->ShowWindow(SW_SHOW);分拿来!@#@%$^&(*)
      

  7.   

    这些东西为什么不能在OnInitiaUpdate中初始化?在OnCreate中也可以,构造函数中是不行,因这窗口还没创建,只有窗口创建后才能初始化控件。
      

  8.   

    谁说OnInitiaUpdate中不能?
    lz你去测一下就知道了
      

  9.   

    因为我的Cformview没有跟文档连,你看下MSDN中OnInitiaUpdate的说明就知道了。
    另外MSDN中说了
    The form-view window and child controls are not created until CWnd::Create is called. CWnd::Create is called by the framework as part of the document and view creation process, which is driven by the document template.
    OnCreate中不行也是因为没有跟文档连的原因吧
      

  10.   

    没有跟文档关联,可能需要你自己去做这部分工作,与在OnInitiaUpdate和oncreate里初始化不矛盾。
      

  11.   

    我就是不需要文档,因为我要建很多个这个的Cformview,仅仅把他当作对话框来用的。
      

  12.   

    文档模板的作用大概是这些,不关联就自己手动加上,formview的操作和dlg几乎一样。
    pFrame = new CChildFrame(); 
    //为子窗口加载指定view页
    CCreateContext context;
    context.m_pNewViewClass=RUNTIME_CLASS(CChildView);
    pFrame->LoadFrame(IDI_ICON_LOG,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW, AfxGetMainWnd(),&context);