各位好:
   近期我在对话框窗口中用TabCtrl展现了两个页面:Page1是计算页面;Page2是打印页面。
 现在问题是:在Page2中单击“重新计算”,效果应该是 Page1里面用到的数组、变量都置空,尤其是Page1页面上用户输入的值也得清空。 可现在就是做不到这点。 
   请问各位,如何实现呢?  是不是Page2要给Page1发送消息呢? 如何发送呢?
   新手,请不吝赐教!!!
   谢谢!!!

解决方案 »

  1.   

    Page2发消息到dlg,dlg再发给Page1,以前这样做过。
    不知道直接发行不行。
      

  2.   


    那请问,Page2如何发消息呢? 能不能给个简单的例子呢?
      

  3.   

    通过他们共同的父窗口CTabCtrl来中转消息即可
      

  4.   

    首先你在page2中,定义一个page1的对象指针,用这个指针调用page1的成员变量或者函数。记着要加头文件
      

  5.   

    发消息很简单啊 postmessage出去就可以  消息值可以自己定义
      

  6.   

    我在Page1里面添加 成员函数 类型是void,然后在函数里简单的写一个MessageBox语句,没有外部调用。竟然说 illegal call。
    为什么呢?
     
      

  7.   

    你好,我在CPage2里 写下面的语句来访问CPage1的清空函数
    m_TabNO.SetCurFocus(0);  //Page1获得焦点
    ((CMainPage*)GetParent())->m_page1.Clear(); //执行Page1的成员函数,功能清空 
    出现的问题很纠结:
    当Clear()函数体内仅仅是 MessageBox("aaa");时程序正常运行。
    当Clear()函数体内有GetDlgItem(IDC_EDIT36)->SetWindowText(0);类似的语句时候就报错误,终止程序!
      为什么呢?GetDlgItem(IDC_EDIT36)获取不到东西?难道m_TabNO.SetCurFocus(0);语选择了该标签页(Page1)之后,还需要对Page1进行什么实例化之类的操作? 等待大家出招。
      

  8.   

    你好,忘记说了,现在不报illegal错误了。 但是,访问clear()函数出现了上面的问题。
      

  9.   

    发送消息到 对话框,对话框的定义的消息函数中:UpdateData(false);从而刷新
      

  10.   

    只要有了窗口句柄,直接 SendMessage 就行了