delphi button如何实现按键按下暂停 再按下启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi button如何实现按键按下暂停 再按下启动相关的知识,希望对你有一定的参考价值。

1个button控件如何实现按下启动,再按下暂停,再按下停止功能。

参考技术A 1.如果要按下和弹起两种状态的话,标准组件中要使用TSpeedButton,其属性设置为:Flat:=true;
GroupIndex:=1;AllowAllup:=true;
这样按钮第一次点击时,处于按下状态,第二次点击处于弹击状态,相关代码:
with Speedbutton do
begin
if Down then showmessage('Down')
else Showmessage('Up');
end;

2.如果就是点一下设置一下状态,那就用按键本身的tag属性来Case一下即可
with button do
begin
case tag of
0:begin
showmessage('启动');
tag:=1;
end;
1:begin
showMessage('暂停');
tag:=0;
end;
end;
end;
参考技术B case of语句 参考技术C 那要用一个变量来做判断!!追问

能否解释的详细点?

追答

我简单的测试了
if Edit1.text='b' then //最开始可以给一个初始值b
begin
showmessage('开始');
Edit1.text:='a';
你所要的操作
exit;
end;
if Edit1.text='a' then
begin
showmessage('暂停');
你所要的操作
Edit1.text:='c';
exit;
if Edit1.text='c' then
begin
showmessage('结束');
你所要的操作
Edit1.text:='a';
exit;

end;

本回答被提问者采纳

如何实现关键监听器?

【中文标题】如何实现关键监听器?【英文标题】:How to implement key listener? 【发布时间】:2019-04-01 04:25:09 【问题描述】:

出于教育目的,我正在用 Java 构建一个 MIDI 钢琴小程序。为此,我想:

    捕获按键的按下和释放 计算同一键按下和释放之间的时间。

实现满足上述条件的关键侦听器的最佳方法是什么?

只有两个按键监听器(用于按键按下和释放)还是每个按键都有按键监听器?

【问题讨论】:

嗯.. 这个帖子怎么样? ***.com/questions/18037576/… 【参考方案1】:

只有两个按键监听器(用于按键按下和释放)还是每个按键都有按键监听器?

两者都没有。我认为您需要一个侦听器来处理按键和按键释放事件……对于所有按键。每个事件都包含一个 when 属性,您可以使用该属性来计算按键被按住的时间。

最后,请注意,小程序现在是不推荐使用的技术,因此这样做的教育价值是有限的,您编写的代码的实用价值也是如此。大多数浏览器不久前删除了所有 Java 插件/小程序支持。

https://www.theregister.co.uk/2016/08/24/oracle_reveals_java_applet_api_deprecation_plan/

【讨论】:

Applet 类的 init() 函数内部 addKeyListner(new KeyAdapter() @Override public void keyTyped(KeyEvent e) System.out.println("Time: "+e.getWhen() ); System.out.println(e.getKeyText(e.getKeyCode())); );`但是当我按住一个键时,它似乎生成了多个按键,而不是维持一个按键。 它们是关键事件而不是击键。您需要在侦听器代码中过滤它们。

以上是关于delphi button如何实现按键按下暂停 再按下启动的主要内容,如果未能解决你的问题,请参考以下文章

winform 按键触发button事件

delphi7的问题

html中button的事件如何实现

Unity3d怎么做到游戏中按下一个按钮,弹出窗口

Firemonkey里触发home按键被按下的事件

DELPHI如何实现打开某一个网页没webbrowser组件