我有一个FormView类
上面有一个ListCtrl
但是我想使用CListCtrl::SetExtentStyle()却无从下手重载.怎么办?
重新添加类的话,如果把新加的类与CListCtrl联系起来.

解决方案 »

  1.   

    敲得好累,建议从新看一下MSDN里面的Visual C++ Tutorials
    1 CSplitterView不是MFC的类,所以无从谈起。另外,CWnd::GetClientRect()返回的是窗体的客户区域大小,你没有指定是用的哪个窗口的GetClientRect函数,也无从谈起返回值的意义。
    2 ID是用来区别一个窗口的子窗口的,句柄有多种,可以在整个系统中操作(不限于当前进程),对象指针指向的对象可能的范围太广。树控件中消息处理函数是你自己写的,点击树表中的一项时操作系统发出的是WM_NOTIFY,通知码是TVN_SELCHANGING和TVN_SELCHANGED
    3 参数太多了,请指明具体参数
    4 随便选一个。
    5在OnInitUpdate里面调用CListCtrl::SetExtentStyle()
      

  2.   

    to jiangsheng(蒋晟):
    如果我直接在一个视类或一个框架类中调用GetClientRect()的话,那么返回的是这一个框架或视的客户区大小指针吧.
    另我的CSplitterView指的是把一个框架分割成两个区域的称呼,我不知道怎么表达.这时候在框架调用GetClientRect()那么得到的是哪一个区域的客户区大小.
      

  3.   

    调用GetClientRect()的问题。
    你要先得到当前视的指针:比如分成CLeftView和CRightView,要得到左边区域客户区大小,
    CLeftView*pView=GetActiveView();CRect&rect=pView->GetClientRect();
    把新加的类与CListCtrl联系起来的问题.
    假定你从CListCtrl派生了一个类CMyListCtrl,在CFormView的ID假设为ID_LIST,派生一个对象m_ListCtrl,
    进行子类化,m_ListCtrl.SubClassDlgItem(ID_LIST,this);
    在派生类的OnCreate函数里可以。
    SetExtentStyle()
    别的jiangsheng已经说的够清楚了。
      

  4.   

    一个DC问题例如:CDC* pDC=GetDC(),
    为什么最后在函数中还必须pDC->ReleaseDC()直接等待析构函数的调用不就成了.
      

  5.   

    CDC* pDC=GetDC(),
    CDC类的release必须自己释放,象CClientDC等派生DC类是会自己释放的
      

  6.   

    to kingzai():
    还有啊.如果我在框架里或视里直接调用这个函数,
    那么他返回的应该是这个框架或是视的区域指针吧.
      

  7.   

    sorry,昨天没看清楚,写错了,应该是
    CRect rect;
    pView->GetClientRect(&rect);