在主对话框上放置一个ocx, 点击主对话框上的一个按钮,让它弹出一个子对话框, 这时把ocx的父窗口(SetParent)改为子对话框,ocx可以正确显示在子对话框上.
问题是:当我在子对话框上点击一下ocx时,它会自动跑回主对话框。求教高手,此题何解?我从网上随便下载一个ocx,发现也同样出现此问题

解决方案 »

  1.   

    加载OCX时,应该加在子对话框的模版上。
      

  2.   

    no,我的应用要求ocx暂时出现在子对话框,在子对话框做一些设置后回到主对话框
      

  3.   

    子窗口也是一个对话框,可能容纳ocx控件,问题不在这
      

  4.   

    子窗口也是一个对话框,可以容纳ocx控件,问题不在这
      

  5.   

    那你就在弹出子对话框的时候动态创建那个ocx
    (别说你只会从工具箱里拖放控件到对话框上-_-b)
      

  6.   

    问题是,你原来的对话框,关联了一些com组件的事件.比如click之类。容器窗器付责控件的位子,事件的传递,有的甚至包括重画。你只改变父窗口是远远不够的。不象一般的窗口。
      

  7.   

    to palmax(南宫煌) : 可以动态创建到子对话框,但这不能解决我的问题
      

  8.   

    to wwwllg(野蛮人) : 是啊,还没找到解决之道。我发现让它回到子窗口,然后再次设到子对话框,它就不会回去了.但只有手动才行,通过SendMessage发送点击消息给ocx还是不行
      

  9.   

    在主对话框上放置一个ocx, 点击主对话框上的一个按钮,让它弹出一个子对话框, 这时把ocx的父窗口(SetParent)改为子对话框,ocx可以正确显示在子对话框上.
    -------------------------------------------------------------------------------
    你想做什么?
    两个对话框的关于控件的一些设置总是可以用变量来传递的,你只要做到同步就可以了