我现在做了个列表,有多列,基于对话框模式,需要排序,使用MFC的SortItem函数调用一个静态的CALLBACK函数,传递了列表类的正在使用的对象的指针进去,但是在CALLBACK全局函数里面无法获取当前是点击了哪一列(column),CListCtrl类没有提供获取点击的是哪一列的API,请各位高手指点一下,如何实现这个功能?先谢了

解决方案 »

  1.   

    void CListCtrl::OnColumnClick( NMHDR* pNMHDR, LRESULT* pResult )
    这个函数里面可以得到被点击的列,然后用一个成员变量记录下来不就可以了吗
      

  2.   

    谢谢Hacker304(),这步我做了,接收到点击了列(column)的消息,这里可以记录下来是点击了哪一列是没错,但是在SortItem这个API里面,可以传递这个列的参数进去。问题是,我在CALLBACK函数里面要获取List列表中的数据,然后才能进行排序操作,所以,我只能把CListCtrl类的对象的指针传递进去,而不能仅仅传递列的指针进去的,是不是???或许我对API的理解不够,能解释一下吗
      

  3.   

    up,up,up,up
    没人回答我,自己顶