如何在 Scintilla 中居中对齐文本?
Posted
技术标签:
【中文标题】如何在 Scintilla 中居中对齐文本?【英文标题】:How to center-align text in Scintilla? 【发布时间】:2016-06-06 22:36:38 【问题描述】:在我的应用程序中,我有一个通过 scintilla.dll 实现语法高亮的自定义控件。
There are all sorts of codes 用于设置控件中文本的样式。
但是,我已经搜索和搜索,无法弄清楚如何将控件中的文本居中对齐。
文本样式居中对齐的闪烁代码是什么?
【问题讨论】:
【参考方案1】:scintilla 中没有“居中对齐”命令。
但是,要使文本居中,请执行以下操作:
-
从控件中获取文本
了解正在使用的样式
使用
TEXTWIDTH
(2276
) 来计算使用该样式的文本宽度
使用 controlwidth /2 - textwidth /2 计算左边距的位置
使用SETMARGINLEFT
(2155
) 移动左边距
注意默认样式是32
。
您必须计算代码以每次更新位置,但可能通过一些回调函数。
在 Autohotkey 中,它可能如下所示:
guicontrolget, editor
guicontrolget, editor, pos
textwidth := hwndeditor.2276(32,editor)
setplace := (editorW /2) - textwidth /2
hpeditor.2155(0,setplace)
【讨论】:
以上是关于如何在 Scintilla 中居中对齐文本?的主要内容,如果未能解决你的问题,请参考以下文章