c++ - UWP/WinRT : How to enable undo hooks on a TextBox?

标签 c++ textbox windows-runtime uwp

TextBox 类已经支持撤消,因为它在上下文菜单中存在并起作用。

我想实现每个常见文档编辑器(例如 Microsoft Word)中的撤消/重做按钮。当它们没有要执行的操作时,以及当有一个撤消/重做堆栈需要移动时,它们将被禁用,按下按钮将导致文本框的内容撤消和重做。

查看TextBox API ,似乎没有提到如何连接到撤消数据。唯一的讨论是提到上下文菜单中存在撤消操作。

如何在 TextBox 上实现撤消/重做 Hook ?

如果有什么不同的话,我目前正在使用 C++/CX 进行编码。

最佳答案

您绝对可以通过 TextChanged 事件手动记录历史记录。撤销命令用于显示之前输入的内容。 Hook 到控件似乎是不可能的。

处理来自 TextBox 的 ContextMenuOpening 事件,您可以通过自己的命令修改 Popup,例如您自己的撤消/重做历史记录。

一个很好的样本:https://code.msdn.microsoft.com/windowsapps/Context-menu-sample-40840351也可以与 UWP 配合使用。

关于c++ - UWP/WinRT : How to enable undo hooks on a TextBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31886766/

相关文章:

javascript - html 文本输入 onchange 事件

c++ - 如何在 CMake 中从 COMPILE_FLAGS 迁移到 target_compile_options?

c++ - 如何在 configure.in 中测试 C++ 库的可用性?

html - 如何在html页面中制作一个信息丰富的文本框

c# - 是否可以在 C# 中编写将在 Windows 8 Metro 环境中运行的 Ping 类?

windows-runtime - Windows Phone 8.1 中的媒体管道是否已损坏?

Windows 应用商店应用中的 Python

c++ - 如何使用“打印到 PDF”打印机以编程方式打印 MFC 和 CView 中的文件名而不提示输入文件名?

c++ - 如何从 C++ 中的集合中检索多个继承类型?

javascript - 从 JavaScript 中的输入文本框获取数组