我的表单上有一个TListView
(它一直都是专注的)和一个OnKeyDown
事件处理程序(它的KeyPreview
属性为真)。
playlist
是我的TListView
组件 ( Style = vsReport
)。
void __fastcall Tmform::mformKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
if(Shift.Contains(ssCtrl)) // hotkeys with CTRL
{
switch(Key)
{
case vkF: findDoublesbtnClick(mform); break; // [FIND TWINS]
case vkD: dbsClick(mform); break; // [DELETE BAD SONGS]
case vkA: playlist->SelectAll(); break; // [CTRL + A]
case vkS: settingsClick(mform); break; // [SETTINGS]
}
}
else // just keys
{
switch(Key)
{
case vkReturn: if(playlist->SelCount) pl.refreshSong(); break; // [ENTER]
case vkDelete: af.deleteFiles(); break; // [DELETE]
case vkSpace:
case vkNumpad3: pl.playPauseResume(); break;
case vkSubtract: prevbtnClick(mform); break; // [PREVIOUS]
case vkAdd: nextbtnClick(mform); break; // [NEXT]
case vkC: counterClick(mform); break; // [LISTENINGS WIN]
}
}
为什么当我按任意键(TListView
焦点)时它会发出哔哔声?