我想用箭头键当自定义的快捷键,但是一按箭头键,窗口的控件的焦点就改变了,我不想改变焦点
解决方案 »
- 请教大家调用dll的函数,指针类型怎么声明
- apro控件是不是现在不行了
- 我想用delphi讲EXCEL电子表格的数据导入access数据库里,客户当EXCEL表的记录数大于255时提示错误,无法导入,怎么解决?
- 有人给华为的c08 centrex话务台做过酒店接口吗?串口的
- 本人是新手,刚学Delphi和SQL语言,现有以下问题想请教大家!
- 100分是你的了
- 各位老兄帮一把吧:在主窗体中新建一个From,如何使它在任务上显示,像主窗体一样?
- 一数与MEMO1中一列数对比.当两数相等,在MEMO2中写入"相等";当两数不相等,在MEMO2中写入"不相等";到底怎么写,我怎么会写出一列不相等,只要
- 请告诉我一些关于delphi的网站(一个初学者)
- 一句SQL语句100分
- 线程中使用SetTimer的问题
- 如何把delphi功能界面与SQL数据库里的数据表打包在一起
Key := 0;
procedure TSetStore1Frm.Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = vk_Return) or (Key = vk_Down)) then
begin
Edit5.SetFocus;
end;
if (Key = vk_Up) then
begin
Edit3.SetFocus;
end;
end;
全局键盘钩子(WH_KEYBOARD)
1.先放一个“ApplicationEvents”到你的窗口界面上
2.在“ApplicationEvents”的OnMessage事件里写关于方向键的代码
如: if (msg.wParam=17) and (msg.message=WM_KEYDOWN) then//256:
begin
bIsCTRl:=True;
end;
if (msg.wParam=17) and (msg.message=WM_KEYUP) then
begin
bIsCTRl:=False;
end;
if bIsCTRl and (msg.message=WM_KEYDOWN) then
begin
if Msg.wParam in [VK_UP, VK_LEFT, VK_DOWN, VK_RIGHT] then
begin
PrintRect := Bounds(0, 0, PaintBoxDraw.Width, WarningY);
case Msg.wParam of
VK_LEFT:
.......
VK_Right:
.......
VK_Up:
.......
VK_Down:
.......以上代码是我自己写的(我截取的不全), 我的程序里面还处理了CTRL按键消息所以有个bIsCTRl的变量
代码仅供参考