I Iknow Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-11 #2 有区别吗?如果想监视键盘的话,可以用接管form的WndProc函数,自己判断啦。 快捷键是不会被form.onkeydown事件接收到的。
B brightangel Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-11 #3 我想在按键盘快捷键时直接进行某项操作, 而用鼠标操作时则先提示,用户确认后再执行。 也就是按快捷键简化操作。 所以我想区分鼠标触发和键盘触发。
A autofish Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-11 #5 用一个比较笨的方法: 你可以把你要进行的操作放在独立的函数中,然后在按键盘快捷键时直接进行这项操作 (调用该操作函数),而用鼠标操作时则先提示再调用该操作函数。 这个办法不先进,但肯定能解决问题。
I Iknow Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-12 #6 如果是这样, 那不该这么实现, 思路不对. 好的方法是用组合键进行直接运行, 比如: 按del键或鼠标点击"删除"命令, 执行提示性 删除, 有对话框弹出, 而按住shift键后再按del键或点击"删除"命令就直接删除, 不给 提示. 这样比较符合习惯.
如果是这样, 那不该这么实现, 思路不对. 好的方法是用组合键进行直接运行, 比如: 按del键或鼠标点击"删除"命令, 执行提示性 删除, 有对话框弹出, 而按住shift键后再按del键或点击"删除"命令就直接删除, 不给 提示. 这样比较符合习惯.
S softprince Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-14 #8 1.判断是否为键盘快捷键: 大概思路是拦截wm_hotkey消息: private procedure wmhotkey(var msg:Twmhotkey);message wm_hotkey; end; implemention procedure Tform1.wmhotkey(var msg:Twmhotkey); begin //在此判断msg的消息是否为键盘快捷键 ; end; 2.判断是否为鼠标激发: 可以监视鼠标的消息.详情请自己参考帮助.
1.判断是否为键盘快捷键: 大概思路是拦截wm_hotkey消息: private procedure wmhotkey(var msg:Twmhotkey);message wm_hotkey; end; implemention procedure Tform1.wmhotkey(var msg:Twmhotkey); begin //在此判断msg的消息是否为键盘快捷键 ; end; 2.判断是否为鼠标激发: 可以监视鼠标的消息.详情请自己参考帮助.
P pxie Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-16 #10 同意Iknow的意见 最好参照M$windows的统一风格,用shift+快捷键表示强制的、增加某些 功能的意思。