首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

如何捕捉一个按键常按事件呢

2012-03-16 
怎么捕捉一个按键常按事件呢?本人刚接触Builder,不熟悉.不知道用哪种类型的button可以得到长按事件,比如如

怎么捕捉一个按键常按事件呢?
本人刚接触Builder,不熟悉.
不知道用哪种类型的button可以得到长按事件,
比如如果一直点这个button,每阁一段时间就可以得到一个事件.
谢谢!

[解决办法]
使用 OnMouseDown 和 OnMouseUp 两组事件 + 状态变量bool g_bPress;
1、OnMouseDown事件触发在OnClick事件之前
2、使用 if(Button == mbLeft) 判断是否为左键按下。或则干脆不要这句,以提供左右键支持。

void __fastcall TForm1::OnMouseDown(TObject* Sender.....[忘了])
{
g_bPress = true;
}
void __fastcall TForm1::OnMouseUp(...)
{
g_bPress = false;
}

然后在程序需要判断某个按钮状态的时候就可以直接通过g_bPress的值来做判断了。
一般只提供用户一个时间只点一个按钮,如果需要判断多个按钮,就用bool g_bPress[]来搞定。

热点排行