TCustomControl为什么接收不到方向键事件?(200分)

  • 主题发起人 主题发起人 梦回九月天
  • 开始时间 开始时间

梦回九月天

Unregistered / Unconfirmed
GUEST, unregistred user!
我自已写了一个控件,它继承自TCustomControl,可是它就是接收不到方向键的输入,
(它会移向其它控件)。用DoKeyPress,WM_KEYUP,WM_KEYDOWN,WM_KEYPRESS都不行,
还望各位高手指点。
(200分一次给完)
 
重载TWINCONTROL的KeyDown事件就可以了。
函数原形:
procedure KeyDown(var Key: Word; Shift: TShiftState);override;
 
是不是你搞错了,它会响应WM_KEYUP消息啊
 
楼上两位大侠:
我已经按这种方法试过,但它就是有一些键盘可以,有一些不可以,例如:Page up ,Page down 是可以,可是方向键就是不行。
不知还有没有其它方法。
 
以前在Delphi1.0时遇到过这个问题, 后来改了他的源代码才行.
 
我也想关注一下.
 
把你的代码贴出来吧,大家帮你试试
 
Delhpi 将 WM_KEYWDOWN 消息屏蔽了
你用CN_KEYDOWN就可以了
如:
定义: Procedure WMKeyDown(Var Msg: TMessage);Message CN_KEYDOWN;
实现:
Procedure WMKeyDown(Var Msg: TMessage);
Begin
if (Msg.wParam=VK_UP) Or (Msg.wParam=VK_DOWN) Then
Begin
// do something
End
Else Inherited;
End;
 

To TK128:
   谢谢你的答案,请接受小弟的分数:200。小弟从不食言,分数一次给完。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部