Главная страница | назад





Article #16933: using return instead of tab or mouse to move off a control

 Question and Answer Database

FAQ1933C.txt   using return instead of tab or mouse to move off a control
Category   :Database Issues
Platform    :All
Product    :C++Builder  1.x

Question:
Is there a way to use the return key for data entry, instead of 
tab or the mouse?

Answer:
Use this code for an Edit's OnKeyPress event.

   void __fastcall TForm1::Edit1KeyPress(TObject *Sender, Char *Key)
   {
      if (Key == "#13")
      {
         SelectNext(dynamic_cast (Sender), true, true );
         Key = "#0";
      }
   }

This causes Enter to behave like tab.  Now, select all controls 
on the form you'd like to exhibit this behavior (not Buttons) 
and go to the Object Inspector and set their OnKeyPress handler 
to EditKeyPress.  Now, each control you selected will process 
Enter as Tab.  If you'd like to handle this at the form (as 
opposed to control) level, reset all the controls OnKeyPress 
properties to blank, and set the _form_'s OnKeyPress property to
EditKeyPress.  Then, change Sender to ActiveControl and set the 
form's KeyPreview property to true:

   void __fastcall TForm1::Edit1KeyPress(TObject *Sender, Char *Key)
   {
      if (Key == "#13")
      {
         SelectNext(dynamic_cast (ActiveControl), true, true );
         Key = "#0";
      }
   }

This will cause each control on the form (that can) to process 
Enter as Tab.

7/2/98 10:32:32 AM
 

Last Modified: 01-SEP-99