热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

一个小问题,大家都来看看,我只能出这么多钱了,希望帮帮忙!

小弟在memo控件的ONKEYDOWN中设置了一个热键,想用ctrl+enter来实现memo1的clear,并且使光标回到最开始的地方,可是在这里出了个问题,就是clear方法调用之后,memo里面
小弟在memo控件的ONKEYDOWN中设置了一个热键,想用ctrl+enter来实现memo1的clear,并且使光标回到最开始的地方,可是在这里出了个问题,就是clear方法调用之后,memo里面的文本是没了,可是光标却到了第二行的最前面,估计是我按热键以后,其实在内存中还留了一个回车键,所以会这样,我记得在c中也有这样的情况,但是c中可以用fflush函数来搞定,不知道在delphi中,怎么解决这个问题,希望得到大家的解答,我先谢谢了。

11 个解决方案

#1


if (ssCtrl in shift ) and #13 then
begin
  Memo1.Lines.Clear;
  Memo1.SetFocus;
end;

#2


if (ssCtrl in shift ) and (key= VK_RETURN) then
...

#3


楼上的不错!
if (ssCtrl in shift ) and (key= VK_RETURN) then
   begin
     Memo1.Lines.Clear;
     Memo1.SetFocus;
   end;

#4


可能是我没说清楚,我的程序跟你们的一样的,我说的是执行了之后吧,那个光标的位置倒了第二行,又什么办法可以使它在第一行的顶头位置。可能由于热键用了enter,所以跳倒了第二行,大家可以试试,执行上面的程序,就会发现我所说的问题了。

#5


为什么没人啊,我自己up

#6


up

#7


试试onkeyup事件

#8


if (ssCtrl in shift ) and (key= VK_RETURN) then
   begin
     Memo1.Lines.Clear;
     Memo1.SetFocus;
     key:=#0;
   end;

#9


试试onkeyup事件

#10


顶!!

#11


谢谢大家,已经解决了,真的感谢。

推荐阅读
author-avatar
米粒尖尖果儿_445
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有