想让窗口中的所有按键交由窗口处理,
如何将ComboBox的按键消息都转发给窗口呢?
请各位指点。

解决方案 »

  1.   

    1)设置窗体的KeyPreview := True;
    2) 设置ComBoBoxKeyPress事件处理程序:procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
    begin
      Key := #0;
    end;下面四测试程序,Edit1 截获了 ComboBox 所有的按键消息
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
      Edit1.Text := key;
    end;
      

  2.   

    一楼的有些麻烦,你直接这样写,只需要写一句话即可:
    procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char); 
    begin 
      FormKeyPress(Sender,Key)
    end; 
      

  3.   

    抱歉,这两天有点事没上
    我的项目,需要让用户可以用光标键调整一图像上的参考线的位置及旋转,图像的边上有一组合框让用户可以选择产品型号。
    问题是当选择了型号后,按光标键,就只在组合框中响应,窗口就不响应了。
    现问题解决了,是在formKeyDown事件将key=0;即可。
    KeyPress好象是不响应光标键及系统键的。
    感谢hulihui兄提供的方法。