2个回答
展开全部
Ctrl 一般要单独来判断,没有虾米组合代码...
例如要TForm来判断Ctrl+Tab,需要响应OnKeyDown事件:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key = VK_TAB) then
ShowMessage('OK');
end;
如果焦点不在Form上,那上面的代码就不好使了。
如果想截获所有键盘信息,得用Delphi蛋疼的ApplicationEvents,因为Delphi把重要的消息循环给藏起来了...
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) and (Msg.wParam = VK_TAB) and (GetKeyState(VK_CONTROL) < 0) then
ShowMessage('OK');
end;
例如要TForm来判断Ctrl+Tab,需要响应OnKeyDown事件:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key = VK_TAB) then
ShowMessage('OK');
end;
如果焦点不在Form上,那上面的代码就不好使了。
如果想截获所有键盘信息,得用Delphi蛋疼的ApplicationEvents,因为Delphi把重要的消息循环给藏起来了...
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) and (Msg.wParam = VK_TAB) and (GetKeyState(VK_CONTROL) < 0) then
ShowMessage('OK');
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
TableDI
2024-07-18 广告
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据...
点击进入详情页
本回答由TableDI提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询