• 全部
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

如何使TMemo控件不能获得键盘,鼠标焦点?

kwest 2003-04-09 07:45:20
就象windows的计算器一样,上面那个文本窗口不能获得鼠标光标的。
...全文
34 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
haoco 2003-04-12
你可以这样:
先放一个Panel,再将Memo放到Panel上面,将Panel的Enable设为false这样Memo就不能得到焦点,而它也不会变灰的
回复
jifee 2003-04-12
为什么不用TLabel控件,只要WordWrap:=True就和Memo一摸一样。
TMemo本身是TWinControl,不可能拦截焦点,除非在CreateParameter方法和ControlStyle属性中作文章;
回复
kwest 2003-04-12
谢谢各位了,看来也只好如此了。。。。
回复
blazingfire 2003-04-12
hehe~~~
不要用TEdit,TMemo
呀,用TPanel,该颜色和边框就行了!
回复
kwest 2003-04-11
你们说的方法我用过的,ReadOnly:= true;可以使选取文本不能修改.
enable:=false;到是可以使Memo不能获得鼠标光标,但文本变灰了,有碍观赏 ^_*

我想是不是可以通过拦截鼠标消息来达到这个目的,我用spy++观察了一下,可能是WM_ACTIVECURSOR
消息,不过,小弟我才疏学浅,望那位大侠能不吝赐教!!
分不够,我可以再加的...
回复
数字蛋糕 2003-04-09
如果你只是想显示文字,使用Label加上WordWrap就可以了。
如果你希望用户能够选取文本却又不能修改,使用Memo的时候加上ReadOnly就行了。
如果你不希望用户按TAB键跳入Memo,那么就应该设置TabStop为False。
回复
lhy39494111 2003-04-09
ReadOnly:= true;
enable:=false;
回复
siyu2002 2003-04-09
enable:=false;
回复
joky1981 2003-04-09
ReadOnly:= true;
TabStop:= false;
回复
czzw 2003-04-09
enable:=false;
回复
weitao999 2003-04-09
比如还有一edit或button
在memo的onenter事件里可以这样写
edit.setfocus(or button.setfocus)
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4876

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2003-04-09 07:45
社区公告
暂无公告