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





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