请问如何在一个FORM里设置ctrl+方向键的快捷键,要求不处理消息。试成功就给分。
解决方案 »
- delphi中有关ADOquery和while语句
- 鼠标右击点关闭时出错?
- pos58打印循环的问题
- 两个简单的问题~~~急急~~
- 见鬼了,竟有这样的问题,stringgrid.row:=i;(i为整型),编译通过,执行时居然报错“标准表达式中数据类型不匹配”。
- Midas结构中对象封装的问题???大家一起进来探讨探讨!!!!
- 我想要一個mts\com+的例子﹐
- 怎样把Word表格中的文字依次放在数据库的表中?
- udp 如何广播结构体(delphi 7 '255.255.255.255'),请知道的帮忙看下,谢谢了
- 一句sql語句請教
- 为什么调用Tform1.Formclose事件没有效果?
- 在DBGrid中怎样使不同的数据行显示不同的颜色?(100分)
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key in [37]) then ShowMessage('Ctrl-左');
if (ssCtrl in Shift) and (Key in [38]) then ShowMessage('Ctrl-上');
if (ssCtrl in Shift) and (Key in [39]) then ShowMessage('Ctrl-右');
if (ssCtrl in Shift) and (Key in [40]) then ShowMessage('ctrl-下');
end;
设置from的属性 keypreview为true
在from的onkeydown事件中或onkeyup中
if (shift=[ssCtrl])then
begin
case key of
vk_left:
begin
showmessage('左方向键');
end;
vk_right:
begin
showmessage('右方向键');
end;
//......
end;
end;
但我自己没调试过....
设置全局快捷键 ////////////////////////////////////
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
protected
procedure hotykey(var msg:TMessage); message WM_HOTKEY;
end; var
Form1: TForm1;
id,id2:Integer; implementation {$R *.DFM}
procedure TForm1.hotykey(var msg:TMessage);
begin
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=81) then
begin
ShowMessage('Ctrl + Q ');
end; if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=82) then
begin
ShowMessage('Ctrl + R ');
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom('hotkey');
RegisterHotKey(handle,id,mod_control,81); id2:=GlobalAddAtom('hotkey2');
RegisterHotKey(handle,id2,mod_control,82);
end; procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id);
UnRegisterHotKey(handle,id2);
end;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key in [37]) then ShowMessage('Ctrl-左');
if (ssCtrl in Shift) and (Key in [38]) then ShowMessage('Ctrl-上');
if (ssCtrl in Shift) and (Key in [39]) then ShowMessage('Ctrl-右');
if (ssCtrl in Shift) and (Key in [40]) then ShowMessage('ctrl-下');
end;
hottey(蓝色的幽灵) 的有点新意,试一下