CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

请教各位高手 怎样屏蔽掉Memo控件的键盘事件

楼主MDS2004(xuyan)2004-04-04 08:02:20 在 Delphi / VCL组件开发及应用 提问

请教各位高手   怎样屏蔽掉Memo控件的键盘事件 问题点数:0、回复次数:10Top

1 楼xiaosq2008(挂在空中的鱼)回复于 2004-04-04 08:58:14 得分 0

procedure   TForm1.Memo1KeyPress(Sender:   TObject;   var   Key:   Char);  
  begin  
        key:=#0;  
  end;Top

2 楼SydPink(Miss Syd.Barrett)回复于 2004-04-04 09:16:58 得分 0

那何不如用STRINGLIST+N个LABEL,或者用STRINGLIST管理,用PAINTBOX之类的来显示算了.  
  还可以把字符画的很精彩,是不?呵呵.反正没键盘时间,没输入.Top

3 楼SydPink(Miss Syd.Barrett)回复于 2004-04-04 09:52:38 得分 0

Memo.readonly:=true;?????????Top

4 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2004-04-04 09:59:53 得分 0

Memo1.ReadOnly   :=   true;  
  or  
  Memo1.Enabled   :=   false;Top

5 楼godnoloveihavelove(快感)回复于 2004-04-04 15:58:44 得分 0

procedure   TForm1.Memo1KeyPress(Sender:   TObject;   var   Key:   Char);  
  begin  
  key:=chr(0);  
  end;Top

6 楼hunterht(核桃II--俺就是核桃的马甲,俺也要星星)回复于 2004-04-04 16:53:09 得分 0

屏蔽键盘事件?那鼠标事件呢?呵呵  
  如果是只读,则设置ReadOnly,如果要禁用,则Enabled   :=   False;Top

7 楼MDS2004(xuyan)回复于 2004-04-05 10:05:32 得分 0

鼠标可以操作,但是键盘不能响应。Top

8 楼linjie208(御风而行)回复于 2004-04-05 18:37:36 得分 0

procedure   TForm1.Memo1KeyPress(Sender:   TObject;   var   Key:   Char);  
  begin  
      key:=#0;  
  end;Top

9 楼SydPink(Miss Syd.Barrett)回复于 2004-04-05 18:47:38 得分 0

还不满意啊?????那就是你说的清楚了。。  
  我看这个样子吧。。。  
  TMyMemo=class(TMemo)  
     
      protected  
          procedure   WndProc(Var   Msg:TMessage);override;  
  ........  
  TMyMemo.WndProc(var   Msg:Tmessage);  
  begin  
    if   Msg.Message=WM_KEYXXXXX  
    //在这里判断所有的键盘消息,,不做任何动作。你看行不行?????  
  end;Top

10 楼cybercake(数字蛋糕)回复于 2004-04-08 20:16:26 得分 0

其实也不一定要自己写控件,省事一些:  
   
  TForm1=class(TForm)  
  protected  
      OldMemoWndProc   :   TWndMethod;  
      procedure   NewMemoWndProc(Var   Msg:TMessage);override;  
  public  
      constructor   Create(AOwner   :   TComponent);   override;//用OnCreate事件也行  
  ........  
  end;  
   
  constructor   Create(...);  
  begin  
      inherited;  
      OldMemoWndProc   :=   Memo1.WindowProc;  
      Memo1.WindowProc   :=   NewMemoWndProc;  
  end;  
   
  TForm1.NewMemoWndProc(var   Msg:Tmessage);  
  begin  
      if   Msg.Message=WM_KEYXXXXX   then   ...  
      else   OldMemoWndProc(Msg);  
  end;Top

相关问题

  • 有谁知道axWebBrowser控件中的键盘屏蔽?
  • 如何将Memo控件的鼠标右键功能屏蔽掉?
  • 如何屏蔽键盘
  • 怎样屏蔽键盘
  • 屏蔽键盘的问题
  • memo控件
  • activx控件屏蔽右键菜单
  • 如何屏蔽flash控件的菜单?
  • 屏蔽控件某个事件
  • 屏蔽控件FOCUS消息的问题

关键词

  • 屏蔽
  • 键盘
  • 控件
  • memo
  • newmemowndproc
  • oldmemowndproc
  • 事件
  • tmessage
  • tform
  • keypress

得分解答快速导航

  • 帖主:MDS2004

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo