我在几个视图类(都是DataView)的cpp文件中声明全局变量:HWND hView1;        //view1.cpp
hView1 = m_hWnd;    //构造函数中HWND hView2;        //view2.cpp
hView2 = m_hWnd;    //构造函数中
在另一个类(Socket)中:extern HWND hView1;
extern HWND hView2;然后:SendMessage( hView1, MY_MESSAGE, NULL, NULL );(消息什么的都准备好了,不是这方面的问题)可是程序没反应,不明白……

解决方案 »

  1.   

    View类在调用构造函数时窗口句柄还是无效的,只有在执行Create函数创建视窗之后句柄才是有效的,所以不行。应该在View的OnCreate函数中复制窗口句柄。
      

  2.   

    我的view类是系统根据DataSet生成的DataView(CRecordView),还是不行……
      

  3.   

    HWND hView1;        //view1.cpp
    hView1 = this->m_hWnd;    //构造函数中HWND hView2;        //view2.cpp
    hView2 = this->m_hWnd;    //构造函数中你用THIS指针试试吧
      

  4.   

    如果View还没创建好的话
    句柄从哪里来?
      

  5.   

    CRecordView好像没有函数可以重载的时候完成句柄的赋值的……急死了
      

  6.   

    响应WM_CREATE消息,在OnCreate函数中完成句柄的赋值