使用全局Screen->ActiveControl
属性:
指示当前哪个控件在屏幕上具有输入焦点。
阅读ActiveControl
以了解活动窗体中的哪个窗口控件对象当前接收来自键盘的输入。
void __fastcall TMainForm::FormShortCut(TWMKey &Msg, bool &Handled)
{
TWinControl *ctrl = Screen->ActiveControl;
if (ctrl == Control1)
{
// do something...
}
else if (ctrl == Control2)
{
// do something else...
}
// and so on...
}
或者,您可以使用表单自己的ActiveControl
属性:
指定具有焦点在窗体上的控件。
用于ActiveControl
获取或设置关注表单的控件。在应用程序的给定时间,只有一个控件可以具有焦点。
如果窗体没有焦点,ActiveControl
是窗体上的控件,当窗体获得焦点时将获得焦点。
void __fastcall TMainForm::FormShortCut(TWMKey &Msg, bool &Handled)
{
TWinControl *ctrl = this->ActiveControl;
if (ctrl == Control1)
{
// do something...
}
else if (ctrl == Control2)
{
// do something else...
}
// and so on...
}