procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); if key=VK_Control then
...
...
上面没问题,如果加一个A组合: if (key=VK_Control)and(key=ord('A')) then
...
...就不行了,而ALT组合就没问题:
if (ssALt in Shift)and(key=ord('A')) then
...
...为什么?
Shift: TShiftState); if key=VK_Control then
...
...
上面没问题,如果加一个A组合: if (key=VK_Control)and(key=ord('A')) then
...
...就不行了,而ALT组合就没问题:
if (ssALt in Shift)and(key=ord('A')) then
...
...为什么?
解决方案 »
- Delphi Integer初始值
- Listview是个什么样的结构?请教高手,如何在Listview上显示数据库的内容
- 在delphi中如何用sendmessage发送wm_move消息
- 请各位高手急救--用DELPHI如何访问DBASE IV数据库时,中文不会出现乱码!!!
- 数据导入excel的问题?
- delphi + Flash Media Server 3.5
- 请教:如何将文件保存到access数据库中?(delphi)
- 平均运算速度2MIPs.每秒执行几条指令 ?
- sqlserver text类型字段的存取问题
- 本人初学DELPHI,请问各位有没有一个小型的管理软件的源代码能给我参考一下,比如什么学生管理系统之类的小程序,或告诉我哪个网站有这种代码下载,一定给分。
- 有DFW上的朋友吗?今天DFW怎么进去出错?不知道你们进得去吗??
- 一鞠躬二鞠躬
Shift: TShiftState);
begin
inherited;
if Key = 27 then MainForm.SysDataFrame.btnExit.OnClick(Sender) //ESC
else
if Shift = [ssCtrl] then
Case Key of
65: MainForm.SysDataFrame.btnNew.OnClick(Sender); //A
66: MainForm.SysDataFrame.btnNext.OnClick(Sender); //B
68: MainForm.SysDataFrame.btnDelete.OnClick(Sender); //D
69: MainForm.SysDataFrame.btnEdit.OnClick(Sender); //E
70: MainForm.SysDataFrame.btnLocate.OnClick(Sender); //F
71: MainForm.SysDataFrame.btnPriv.OnClick(Sender); //G
76: MainForm.SysDataFrame.btnLast.OnClick(Sender); //L
80: MainForm.SysDataFrame.btnPrint.OnClick(Sender); //P
82: MainForm.SysDataFrame.btnRefresh.OnClick(Sender); //R
83: MainForm.SysDataFrame.btnSave.OnClick(Sender); //S
84: MainForm.SysDataFrame.btnFirst.OnClick(Self); //T
85: MainForm.SysDataFrame.btnUndo.OnClick(Sender); //U
end;
end;
.......
你想想,key能同时等于两个值么?if (ssCtrl in Shift)and(key=ord('A')) then
的意思是按下A时判断Ctrl键的状态是否是按下
针对Ctrl组合键处理:
if ssCtrl in shift then
if key=ord('A') then
showmessage('Jello');
Shift: TShiftState);
begin
if ssCtrl in shift then
if key=ord('A') then
showmessage('Jello');
end;
然后
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((shift=[ssctrl]) and (key=ord('A'))) if key=ord('A') then
showmessage('Hello');//'Jello'-->Hello 关键所在!呵呵
end;不会错的放心吧!