本帖最后由 screen12 于 2014-07-28 15:08:47 编辑

解决方案 »

  1.   

    我把问题说得再清楚一点:点击左边的“常用设置”,“界面设置”等等,右边会显示不同的内容,这些不同的内容实际上一个一个的子对话框。但我要退出整个对话框的时候,取数据是在哪个对话框过程里取?我是按主对话框的”确定“按钮结束并退出对话框的。按理是在主对话框的的WM_COMMAND消息的IDOK里,取数据,用这些数据填写系统设置参数,最后用EndDialog(hDlg, TRUE);来退出整个对话框是吗?可是这样做,我觉得有点别扭。因为不同的子对话框里的控件,都是在子对话框里初始化的,似乎退出时在各个子对话框过程中取比较好。可是这些子对话框并没有WM_COMMAND消息,那就只能在WM_DESTROY消息中取了,是吗?
      

  2.   

    可是,如果在各个子对话框过程的WM_DESTROY消息中取数据,问题又来了:它怎么知道我按的是主对话框中的”确定“还是”取消“呢?如果按”取消“则不应该有取数据这一动作。
      

  3.   

    在点击右侧窗口时,同时将选择的内容记录下来。然后传到主对话框中
    例如你点击了checkbox,主对话框要有一个值保存当点击主对话框的确定时,就不需要到子窗口中取值