如题,请高手赐教!

解决方案 »

  1.   

    是你ShowModal出来的窗体还是原来的?
      

  2.   

    哈哈,在新窗体的FormKeyDown是可以响应的,
    当然前提是你的ShowModal出来的新窗体要是当前获得焦点的窗体 
      

  3.   


    不懂你的意思,可以再说明白点吗。我试着在新窗体的ShowForm事件里用SetFocus,但还是不行
      

  4.   

    只要你的FormKeyDown的窗体处于激活状态,是可以响应的
      

  5.   


    那请告诉下方法
    大家可以试下,用ShowModal出来的新窗体真的是不会响应Key事件
      

  6.   

    我按你说的测试了建立Form1,在Form1上放上一个Button1;新建Form2,在Form1中,uses Unit2;双击Form1上Button1,在OnClick事件中Form2.ShowModal;Form2上放上一个Panel1,在Form2.FormKeyDown事件中  if Key=65 then       //按A键
        Panel1.Color:= clRed;
      if Key=66 then       //按B键
        Panel1.Color:= clLime;保持ShowModal出来的Form2的激活状态,测试A/B键,完全没问题。
      

  7.   

    谢谢!我想我找出问题了,原因是Form没有获得焦点所以是优先响应其他控件的消息
    解决方法:
    1。设置Form.KeyPreView := True
    2。使Form获得焦点你所测试放的控件是TPanel,Form还是可以响应Key事件,如果你只放一个TButton那么就不行了,
    想问下这种情况如何可以使Form响应Key消息,请楼下继续!
      

  8.   

    把button的 onkeydown事件关联到Form上不就行了