我想用一个label或paintbox控件,输出用户的键盘字符。
比如用户敲某个键,label的caption就显示那个字母。我先试了Hook,可用chr(hook的wparam) 出来都是大写字母。
还要监控capslock和shift,麻烦又试了写procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
然后输出mssage.charcode
可根本没反应啊。怎么让这个东西起作用啊?
比如用户敲某个键,label的caption就显示那个字母。我先试了Hook,可用chr(hook的wparam) 出来都是大写字母。
还要监控capslock和shift,麻烦又试了写procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
然后输出mssage.charcode
可根本没反应啊。怎么让这个东西起作用啊?
解决方案 »
- 只让程序运行一个实例,如何实现已经运行的实例获得焦点并正常显示 ?
- 请求帮助
- 关于FORM上面的滚动条及FORM设置的两个问题
- 关于VC写的dll在delphi中调用的问题,大家帮忙。
- 这都由哪些原因造成的呢?
- 关于登陆窗口的问题!
- 运行着scktsrvr.exe才能使用用SOCKETCONECTION做的多层吗?是不是应该在应用服务程序的FORM的ACTIVE事件中自动运行scktsrvr.exe它啊?
- dbgrid列头排序问题
- about TTable.CreateTable
- 请大家帮我看一下我的程序为什么达不到预期要求?(数据库方面)
- update语句语法错误。请给改下吧。不知哪里错了
- 哪位好心的大哥.给我个2010无update1的种子?
似乎是焦点的问题,但使用form.setfocus 却不行。
如何把焦点设置到label或paintbox上?
目前是排除法,即焦点不在button等有焦点的控件上,似乎比较笨。
还有菜单等无焦点控件。应该是用户点击了其它任何控件,焦点就丧失,可是怎么实现啊?
难道还要hook鼠标,检测点击了超出本控件的范围?