TLabeledEdit的Undo()

hind24 2010-08-06 04:27:50
Undo不管用,一看原来CanUndo是false,但这个属性是只读的,怎么让它能Undo呢?
...全文
91 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
iqyely 2010-08-14
  • 打赏
  • 举报
回复
来关注下
hind24 2010-08-13
  • 打赏
  • 举报
回复
真的不能控制CanUndo?不行我就结帖想别的办法算鸟
ccrun.com 2010-08-06
  • 打赏
  • 举报
回复
失误,刚才细想了想不对。EM_CANUNDO是获取某个窗口是否允许撤消操作,而不是设置。
实在抱歉,差点误导你。
hind24 2010-08-06
  • 打赏
  • 举报
回复
一会要能,一会又要不能,一会又要能,一会又要不能……所以才问这么多
ccrun.com 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hind24 的回复:]
顺便问下,怎么使它变成不能Undo呢?

再顺便问下,妖哥经常叫人发消息,可以从哪参考?下次就不用问了哈

还有,既然VCL没有把这些消息封装到属性和方法中,用了会不会有冲突?
[/Quote]

到底是要能Undo呢还是要不能Undo?
ccrun.com 2010-08-06
  • 打赏
  • 举报
回复
不过有一点需要注意,默认的Undo次数有限,如果需要更改,用这个:
::SendMessage(LabeledEdit1->Handle, EM_SETUNDOLIMIT, 100, 0); // 一百次UNDO
hind24 2010-08-06
  • 打赏
  • 举报
回复
顺便问下,怎么使它变成不能Undo呢?

再顺便问下,妖哥经常叫人发消息,可以从哪参考?下次就不用问了哈

还有,既然VCL没有把这些消息封装到属性和方法中,用了会不会有冲突?
ccrun.com 2010-08-06
  • 打赏
  • 举报
回复
::SendMessage(LabeledEdit1->Handle, EM_CANUNDO, 0, 0);
geochway 2010-08-06
  • 打赏
  • 举报
回复
CanUndo是系统自动控制的,当用户需要Undo时,先检查一下这个标志,再调用Undo方法,否则没有效果。

要感觉不好用,可以自己记录操作来实现undo的功能。

604

社区成员

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

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