1、你融合的窗口由谁创建?dll?bpl?...
2、窗口的borderstyle属性值是什么?

解决方案 »

  1.   

    1、窗口是主程序exe直接创建的,没有使用bpl或dll
    2、borderstyle是nsNone
      

  2.   

    那你应该是设置了窗口的keypreview属性为True。这样如果父窗口刚好处理key相关的事件并设置key的状态,那么子窗口就没机会处理了。换句话说,你的主窗口和子窗口可能存在key事件的处理冲突。
      

  3.   

    我还有个更奇怪的问题呢,ESC键捕获不到,别的键都没问题
      

  4.   

    那你应该是设置了窗口的keypreview属性为True。这样如果父窗口刚好处理key相关的事件并设置key的状态,那么子窗口就没机会处理了。换句话说,你的主窗口和子窗口可能存在key事件的处理冲突。
    这个方法试过了,不行的
      

  5.   

    那你应该是设置了窗口的keypreview属性为True。这样如果父窗口刚好处理key相关的事件并设置key的状态,那么子窗口就没机会处理了。换句话说,你的主窗口和子窗口可能存在key事件的处理冲突。这个方法试过了,不行的
    ??什么方法? 我的意思是让你确认一下是否存在快捷键冲突....
      

  6.   

    @Avan_Lau :::主窗口的KeyPreview值为False,但子窗体仍然接受不到KeyPress
      

  7.   

    如何“融合”窗口?直接调用API:SetParent?或指定Form.Parent?
      

  8.   

    SetParent、Parent以及ManualDock都试过
      

  9.   

    SetParent有个问题,就是Align := alClient不起作用。