一直在做MFC对话框基础的编程,加控件什么的完全没问题,之前也用SDK写窗口,基础还行。
但现在因为要做分隔窗口什么的,打算用SDI来做,发现网上的资料虽多,都不太符合实际,以前以某关键字找到的带控件分隔窗口的资料却又偏偏找不到了,当时是做成功了。
现在找到的没有给SDI加LISTCTRL控件的。
现在我要做的主要目标是在SDI里做一个LISTCTRL,先不考虑分隔窗口,但希望是创建工程时选默认选项(CVIEW?)而不是TREEVIEW。怎么办?
发点资料啊链接啊什么的看看,跟我想要做的这个目标相关的,谢谢
当然,如果谁刚好有我说的那个“SDI带控件分隔窗口的资料”那更好。

解决方案 »

  1.   

    分割窗口该找CSplitterWnd来做啊CSplitterWnd object using the following steps: 1.Embed a CSplitterWnd member variable in the parent frame.
    1.嵌入一个变量
    2.Override the parent frame's CFrameWnd::OnCreateClient member function.
    2.重写OnCreateClient函数
    3.From within the overridden OnCreateClient, call the Create or CreateStatic member function of CSplitterWnd.msdn里各个函数写的很详细~
      

  2.   

    “现在找到的没有给SDI加LISTCTRL控件的。”这个呢
      

  3.   

    在我要做的主要目标是在SDI里做一个LISTCTRL
    ====================================
    为什么不添加LISTVIEW呢而用CVIEW呢?
      

  4.   


    大可以分割窗口后指定一个View窗口:新建一个继承CListView,或者直接创建一个CListView
      

  5.   

    如果只是希望在view上创建一个CListCtrl,那么
    动态创建,头文件声明:CListCtrl listCtrl;
    OnCreate里写listCtrl.Create();
      

  6.   

    int CSDIView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
    if (CView::OnCreate(lpCreateStruct) == -1)
    return -1;

    // TODO: Add your specialized creation code here
    listCtrl.Create(LVS_REPORT,CRect(10,200,30,500),this,0);
    return 0;
    }
      

  7.   

    int CSDIView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
    if (CView::OnCreate(lpCreateStruct) == -1)
    return -1;

    // TODO: Add your specialized creation code here
    listCtrl.Create(LVS_REPORT|LVS_EX_GRIDLINES,CRect(50,100,1200,1500),this,0);
    return 0;
    }也不显示,在ONDRAW里面MOVEWINDOW也不行
      

  8.   

    你要把WS_VISIBLE属性加进去啊,不然怎么能看见窗口呢
      

  9.   

    listCtrl.Create(WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_EX_GRIDLINES,CRect(50,100,1200,1500),this,0);