Scintilla Markers & Margins
在以下的描述中,消息被描述为带有0个,1个或2个参数的函数调用.这两个参数就是windows消息处理函数中的wParam和lParam,所有的消息都需要两个参数而不管Scintilla是否使用它们,强烈推荐你对不使用的参数都设置成0.
文本获取:
SCI_GETTEXT(int length, char *text)
从文档开始位置返回length-1个字节,放存放到text指定的缓冲区中,并在其后添加字符串结束符.如果要获得整个文档的内容,可以先通过SCI_GETLENGTH先来获取文档的字节长度,然后再通过SCI_GETTEXT来取得其内容.如果text参数为空,将返回需要分配的缓冲区长度.
SCI_SETTEXT(<unused>, const char *text)
设置文档内容.
SCI_GETLINE(int line, char *text)
返回指定行的内容(行号从0开始),注意Scintilla并不会在返回内容的末尾自动添加字符串结束符,所以可能需要你来手动加上.
SCI_LINELENGTH(int line)
返回指定行的长度.包括任何的行结束符,如果想得到不包含行结束符的行长度,可能通过
- 来得到.SCI_REPLACESEL(<unused>, const char *text)
替换当前选中项.
SCI_SETREADONLY(bool readOnly)
设置文档是否为只读
SCI_GETREADONLY
查看文档是否为只读.
Markers
SCI_MARKERDEFINE(int markerNumber, int markerSymbols)
将指定编号的标记和一个标记符号或者一个ASCII字符关联起来。markerNumber是标记的编号(0~31),markerSymbols是标记的符号类型,常用的符号标记类型有:SC_MARK_CYCLE,SC_MARK_ROUNDRECT,SC_MARK_ARROW等等。
SC_MARK_BACKGROUND
改变行的背景色.
SC_MARK_FULLRECT
改变空白区(Margin)的背景色.
SCI_MARKERSETFORE(int markerNumber, int colour)
设置Marker的前景色
SCI_MARKERSETBACK(int markerNumber, int colour)
设置Marker的背景色.
SCI_MARKERADD(int line, int markerNumber)
给指定行添加一个标记.返回一个指向标记的句柄.该句柄可以在
和 中使用.SCI_MARKERDELETE(int line, int markerNumber)
删除指定行的指定标记.
Margins:
在文本显示区域的左侧最多有五个Margin,每个Margin都可以用来显示行号或者符号,这可以通过
来进行设置.Margins 被编号为从0到4,使用任何在这个范围之外的编号都将无效.默认情况下,Margin 0被用来显示行号,但其宽度被指定为0,所以它默认情况下是隐藏的.Margin 1用来显示非折叠的符号,默认宽度为16个像素值,因而是可见的.Margin 2用来显示折叠符号,默认情况下宽度也是0(隐藏).
posted on 2009-10-31 14:42 Joshua Leung 阅读(639) 评论(0) 编辑 收藏 举报