软件打开后就一个操作界面。但有多个焦点获取点。如ComboBox,Button,Edit等
要求是不管焦点在哪里,按下A-Z,a-z,0-9时,焦点都返回到1个指定的edit。
并且在那个edit中输入内容。
还有如何设置按下F2,F3等按键时的事件。

解决方案 »

  1.   

    procedure   TForm1.FormCreate(Sender:   TObject);  
      begin  
          KeyPreview   :=   True;   //可以直接设置  
      end;  
       
      procedure   TForm1.FormKeyDown(Sender:   TObject;   var   Key:   Word;  
          Shift:   TShiftState);  
      begin  
          case   Key   of  
              VK_F1:   {   F1要处理的代码   };  
              VK_F2:   {   F2要处理的代码   };  
              VK_F3:   {   F3要处理的代码   };  
          end;  
      end;
      

  2.   

    1、打开操作界面后,把指定的Edit.SetFocus就可以了,或者设置其它Taborder为0
    2、F2,F3可以注册成系统热键,如果只在操作界面有效,只是处理按键的消息就可以了
      

  3.   

    同意 hongqi162(失踪的月亮)
      

  4.   

    回 hongqi162(失踪的月亮) 
    这样的方法我试过(没你的KeyPreview   :=   True;)
    光在FormKeyDown事件中判断Key的值,在焦点在ComboBox或Button时,貌似不会转到Edit啊。也不会跳到FormKeyDown的事件里,而是在OnComboBoxKeyDown事件和OnButtonKeyDown事件里
      

  5.   

    测试了下hongqi162(失踪的月亮)的方法,呵呵,加了KeyPreview果然行了。
    谢谢