Overtype

修改模式

整体介绍

该功能不常用,当点击键盘中Insert按键后,输入模式更改。

SCI_SETOVERTYPE,SCI_GETOVERTYPE

SCI_SETOVERTYPE(bool overType) SCI_GETOVERTYPE → bool

启用改写后,每个键入的字符将替换文本插入符号右侧的字符。禁用改写时,将在插入符号处插入字符。如果改写处于活动状态,SCI_GETOVERTYPE将返回true(1),否则将返回false(0)。使用SCI_SETOVERTYPE设置改写模式。

Cut, copy and paste

剪切,复制以及粘贴

整体介绍

用于复制粘贴等常规功能。

SCI_CUT,SCI_COPY,SCI_PASTE,SCI_CLEAR,SCI_CANPASTE,SCI_COPYALLOWLINE

SCI_CUT SCI_COPY SCI_PASTE SCI_CLEAR SCI_CANPASTE → bool SCI_COPYALLOWLINE

这些命令执行标准任务,包括剪切数据并将其复制到剪贴板、从剪贴板粘贴到文档以及清除文档。如果文档不是只读的,并且所选内容不包含受保护的文本,SCI_CANPASTE将返回非零。如果需要“可以复制”或“可以剪切”,请使用SCI_GETSELECTIONEMPTY(),如果有任何非空的选择范围意味着复制或剪切到剪贴板应该有效,则该值将为零。

SCI_COPYALLOWLINE的工作原理与SCI_COPY相同,只是如果选择为空,则复制当前行。在Windows上,将向剪贴板添加一个额外的“MSDEVLineSelect”标记,然后在SCI_粘贴中使用该标记将整行粘贴到当前行之前。

SCI_COPYRANGE,SCI_COPYTEXT

SCI_COPYRANGE(position start, position end) SCI_COPYTEXT(position length, const char *text)

SCI_COPYRANGE将一系列文本从文档复制到系统剪贴板,SCI_COPYTEXT将提供的文本复制到系统剪贴板。

SCI_SETPASTECONVERTENDINGS,SCI_GETPASTECONVERTENDINGS

SCI_SETPASTECONVERTENDINGS(bool convert) SCI_GETPASTECONVERTENDINGS → bool

如果设置了此属性,则在粘贴文本时,任何行尾都会转换为与SCI_SETEOLMODE设置的文档行尾模式相匹配。默认为true。

SCI_REPLACERECTANGULAR

SCI_REPLACERECTANGULAR(position length, const char *text)

用给定文本替换选定文本或空选择。插入的执行方式类似于矩形粘贴:给定文本中的新行被解释为移动到下一行而不插入新行,除非在文档末尾。

Error handling

整体介绍

用于当前Scintilla错误状态。

SCI_SETSTATUS,SCI_GETSTATUS

SCI_SETSTATUS(int status) SCI_GETSTATUS → int

如果发生错误,Scintilla可能会设置一个内部错误号,该编号可以通过SCI_GETSTATUS检索。要清除错误状态,请调用SCI_SETSTATUS(0)。状态值从1到999为错误,状态SC_Status_WARN_START(1000)及以上为警告。当前定义的状态为:

错误码 说明
SC_STATUS_OK 0 No failures
SC_STATUS_FAILURE 1 Generic failure
SC_STATUS_BADALLOC 2 Memory is exhausted
SC_STATUS_WARN_REGEX 1001 Regular expression is invalid

Undo and Redo

整体介绍

回退与重做。

SCI_UNDO,SCI_CANUNDO

SCI_UNDO SCI_CANUNDO → bool

SCI_UNDO撤消一个操作,或者如果撤消缓冲区已达到SCI_ENDUNDOACTION点,则所有操作将返回到相应的SCI_BEGINUNDOACTION

如果没有要撤消的内容,SCI_CANUNDO将返回0,如果有,则返回1。您通常会使用此消息的结果来启用/禁用编辑菜单撤消命令。

SCI_EMPTYUNDOBUFFER

SCI_EMPTYUNDOBUFFER

该消息

该消息用于清空当前撤消缓冲区以及重做缓冲区,执行该命令后,当前文档将显示为未修改。本消息的执行将不会触发SCN_SAVEPOINTREACHED 的通知。

SCI_SETUNDOCOLLECTION,SCI_GETUNDOCOLLECTION

SCI_SETUNDOCOLLECTION(bool collectUndo) SCI_GETUNDOCOLLECTION → bool

SCI_SETUNDOCOLLECTION消息用于控制Scintilla是否收集撤消信息。传入true(1)以收集信息,传入false(0)以停止收集。如果停止收集,还应使用SCI_EMPTYUNDOBUFFER以避免撤消缓冲区与缓冲区中的数据不同步。

如果您使用Scintilla存储程序(日志视图)生成的文本,或者在经常删除和重新生成文本的显示窗口中,可以关闭保存撤消信息。

SCI_BEGINUNDOACTION,SCI_ENDUNDOACTION

SCI_BEGINUNDOACTION SCI_ENDUNDOACTION

这两个消息用来标记一组操作的开始和结束,用来批量撤销或重做。

SCI_ADDUNDOACTION

SCI_ADDUNDOACTION(int token, int flags)

该消息可以将其自己的操作添加到撤消堆栈中,并且在撤消(SC_PERFORMED_UNDO)或重做(SC_PERFORMED_REDO)操作时,将使用SC_MOD_CONTAINER标志向容器发送SCN_MODIFIED通知。提供的令牌参数将在通知的令牌字段中返回。

例如,如果容器希望允许撤消和重做“toggle bookmark”命令,那么它可以在每次执行该命令时调用SCI_ADDUNDOACTION(line,0)。然后,当它收到撤销或重做的通知时,它会在令牌字段给出的行上切换书签。如果有不同类型的命令或参数需要存储到撤销堆栈中,那么容器应该为文档维护自己的堆栈,并使用该堆栈中的当前位置作为SCI_ADDUNDOACTION(line)的参数。SCI_ADDUNDOACTION命令不会组合到单个撤消事务中,除非与SCI_BEGINUNDOACTIONSCI_ENDUNDOACTION组合在一起。

当flags参数是UNDO_MAY_COALESCE(1),则器操作可以与任何插入和删除操作合并到单个复合操作中。否则flags参数为UNDO_NONE(0)。合并将可合并的容器操作视为透明的,所以仍然只将看起来像键入或删除的插入组合在一起,看起来像多次使用退格键或删除键。

Scintilla教程(4): 复制粘贴以及撤销回退相关推荐

  1. C# 复制 粘贴 剪切 撤销

    //复制 try { this.Cursor = Cursors.WaitCursor; string strTemp = richTextBoxSendInfo.SelectedText; //获取 ...

  2. 文本编辑器实现复制、剪切、粘贴、撤销、重做操作

    文章目录 1 文本编辑器实现复制.剪切.粘贴.撤销.重做操作 1.1 功能实现 1.2 界面状态维护 1 文本编辑器实现复制.剪切.粘贴.撤销.重做操作 1.1 功能实现 编辑器中的常规编辑交互功能: ...

  3. Mac OS开发—Xcode给Mac应用添加编辑快捷键(剪切 复制 粘贴 全选 删除 撤销 重做)功能

    前言 笔者做Windows开发的,无奈公司有Mac OS的项目需要维护,之前没有编辑菜单的功能,需要笔者加上这个功能,笔者只能硬着头皮上.还好会c++,Mac应用里面一般都会用object-c 也可以 ...

  4. qml中使用combobox实现多级菜单_Excel教程:还不会做Excel三级下拉菜单?其实它跟复制粘贴一样简单...

    关注回复[目录]学习113篇Excel教程 全套Excel视频教程,扫码观看 编按: 哈喽,大家好!说到做下拉菜单,小伙伴们都知道直接使用Excel中的数据验证就可以实现,但是二级.三级,甚至更多级的 ...

  5. 计算机复制教程,教你如何使用电脑复制粘贴快捷键

    我们知道键盘上面的按键都有相对应功能,比如复制快捷键是Ctrl+C,那么这个已经是我们日常使用电脑最基本的知识点了,但是对于还不了解电脑的朋友来说,还是有必要给这部分新用户普及下相关的教程,下面一起学 ...

  6. 魔兽地图编辑器插件YDWE的使用与基本设置2之空格、复制、粘贴、撤销、重做键

    魔兽地图编辑器插件YDWE的使用与基本设置2之空格.复制.粘贴.撤销.重做键 1.space(空格):选择刷子 光标与上一选择状态(比如选中的建筑物.地形等)切换 2.撤销键Ctrl+Z 撤销上一步做 ...

  7. CREO:CREO软件之零件【模型】操作之复制/粘贴、再生模型、旋转中心开关、隐含、只读、特征操作、模型缩放的简介及其使用方法(图文教程)之详细攻略

    CREO:CREO软件之零件[模型]操作之复制/粘贴.再生模型.旋转中心开关.隐含.只读.特征操作.模型缩放的简介及其使用方法(图文教程)之详细攻略 目录

  8. 【微课制作软件】Focusky教程 | 支持同时打开多个文档并相互复制粘贴

    Focusky(也称为"FS软件")从v2.10版本开始,就支持同时打开多个文档了. 同时打开多个文档: 点击"文件"--"新建工程"或者点 ...

  9. excel小写转大写公式_一个复制粘贴的问题,竟然难倒了90%的Excel人【Excel表格制作教程】...

    点击蓝字发送[目录]送你200篇独家Excel精华教程 全套Excel视频,限时特价,扫码观看! 如果我对你说,我可以将一个连续区域中的值,快速粘贴到筛选后不连续的区域中,你信吗?例如要将下图右侧连续 ...

  10. 复制粘贴-快速安装k8s教程

    复制粘贴-快速安装k8s教程 文章目录 复制粘贴-快速安装k8s教程 1.首先检查操作系统的版本 2. 主机名解析 3.时间同步 4.禁用iptable和firewalld服务 5.禁用selinux ...

最新文章

  1. C语言的单链表求交点
  2. 【微信小程序企业级开发教程】生命周期和app对象详解
  3. PHP array_combine
  4. SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
  5. python基础(part14)--异常处理
  6. 在VC8里调用VBScript.dll的RegularExpression
  7. php 关闭 row,MySql php:检查Row是否存在
  8. 基于51单片机LCD1602电子时钟实物制作
  9. 欧盟网络安全局发布《供应链攻击威胁全景图》报告(上)
  10. CF 4B. Before an Exam
  11. C# 使用Newtonsoft.Json 对象转json字符串,json字符串转对象
  12. NLP - AIML
  13. GoldenDict:一款免费的词典工具
  14. 盗版影视网站买什么服务器,文化部严打影视盗版:网吧主清空影视服务器
  15. 【简单的密码生成器】
  16. c语言程序设计吉林大学康辉目录,[吉林大学康辉] 经典C语言程序设计视频教程 51讲...
  17. VirtualBox中win7系统无法安装增强功能
  18. 使用Breeze快速搭建GUI方式K8S集群操作手册
  19. shader Cg 基本数据类型
  20. 0的0次幂(0^0)应该等于0还是1?

热门文章

  1. 超详细设置Idea类注释模板和方法注释模板
  2. 网页播放 .m3u8 视频文件
  3. Linux 用户授权的方法,linux中用户和权限管理
  4. 抖音数据统计_【数据】2018抖音大数据报告(完整版)
  5. 交流电机Clark变换中的功率不变约束与幅值不变约束
  6. 如何安装数据库和数据库安装不了如何解决
  7. 【广东大学生网络攻防大赛-WriteUp(非官方)】Misc | 复合
  8. 程序员如何在工作之外获得收入
  9. 7 Papers Radios | 陈丹琦关系抽取新SOTA;上海交大医疗版MNIST数据集
  10. 武汉大学计算机学院程序大赛,“星网锐捷杯”华中区高校研究生程序设计大赛通知...