m_ListCtrl是非法的窗口对象啊。

解决方案 »

  1.   


     CMyListCtrl是由CListCtrl派生的类,怎么会是非法的窗口对象?
    多谢参与!!!
      

  2.   

    看不出你在那里有对m_ListCtrl进行赋值。
      

  3.   

    m_ListCtrl根本没有真正创建出来,哪来的句柄?
      

  4.   

    你说的对,我进行了修改
         CMyListCtrl  m_ListCtrl;
        CListCtrl* pListCtrl = NULL;
        pListCtrl = &GetListCtrl();
        m_ListCtrl.SubclassWindow(pListCtrl->m_hWnd);    
    但还是不行,调试到
    BOOL CWnd::Attach(HWND hWndNew)
    {
    ASSERT(m_hWnd == NULL);     // only attach once, detach on destroy
    ASSERT(FromHandlePermanent(hWndNew) == NULL);Debug Assertion Error!SubclassWindow语句还是过不去。
      

  5.   

    还是不对啊,你的m_ListCtrl还没有创建呢。你这样子是不行的。
    你必须在这个类之外定义一个CMyListCtrl的对象,然后创建它,接着调用
    m_ListCtrl.SubclassWindow(hwnd);
      

  6.   

    我在程序的前面用过一个CHeaderCtrl的派生类,怎么不需要创建?
      

  7.   

    我又作了修改如下:
        CMyListCtrl  m_ListCtrl;
        CListCtrl* pListCtrl = NULL;
        pListCtrl = &GetListCtrl();
        m_ListCtrl.Create("CListCtrl", NULL,     WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1, NULL);
        m_ListCtrl.SubclassWindow(pListCtrl->m_hWnd); 还是出现上面的问题。帮忙帮到底,多谢。
        
      

  8.   


    send your project to [email protected]
      

  9.   

    to milson(老疯子): i have sent my project to your mailbox, thanks!
      

  10.   


    to milson(老疯子):
        sorry, 刚才忘了加附件