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

kwest 2003-04-09 07:45:20
就象windows的计算器一样,上面那个文本窗口不能获得鼠标光标的。
...全文
90 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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)

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧