WNDPROC OldToolBarWndProc;
OldToolBarWndProc = (WNDPROC)::SetWindowLong(hToolBar,GWL_WNDPROC,(LONG)ToolBarWndProc); 

解决方案 »

  1.   

    你的ToolBarWndProc函数如果是类成员的话,必须声明为"静态(static)"的
      

  2.   

    LRESULT CALLBACK ToolBarWndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
      

  3.   

    难道是64位的关系?
    SetWindowLongPtr
      

  4.   

    vs里好像不能强制转换了,要加个什么函数代码才行vc6应该是能强制转换的
      

  5.   

    static就可以用了,那这是什么道理呀
      

  6.   

    窗口过程是windows的回调函数,不是C++类,没有 this(该对象) 的概念
      

  7.   

    怎么不行? 编译不过?
    亲测这样的强制类型转换在VC2010里没问题又是mirro*,楼主马甲真多
      

  8.   

    LRESULT APIENTRY ToolBarWndProc(
        HWND hwndDlg, 
        UINT uMsg, 
        WPARAM wParam, 
        LPARAM lParam) ;WNDPROC OldToolBarWndProc = (WNDPROC) SetWindowLong(hToolBar, 
                    GWL_WNDPROC, (LONG) ToolBarWndProc); 
    这样写应该是没有问题的
      

  9.   


    声明为static了,编译器就不会传this指针了: