【问题标题】:How to center-align text in Scintilla?如何在 Scintilla 中居中对齐文本?
【发布时间】:2016-06-06 22:36:38
【问题描述】:

在我的应用程序中,我有一个通过 scintilla.dll 实现语法高亮的自定义控件。

There are all sorts of codes 用于设置控件中文本的样式。

但是,我已经搜索和搜索,无法弄清楚如何将控件中的文本居中对齐。

文本样式居中对齐的闪烁代码是什么?

【问题讨论】:

    标签: scintilla


    【解决方案1】:

    scintilla 中没有“居中对齐”命令。

    但是,要使文本居中,请执行以下操作:

    1. 从控件中获取文本
    2. 了解正在使用的样式
    3. 使用TEXTWIDTH (2276) 来计算使用该样式的文本宽度
    4. 使用 controlwidth /2 - textwidth /2 计算左边距的位置
    5. 使用SETMARGINLEFT (2155) 移动左边距

    注意默认样式是32

    您必须计算代码以每次更新位置,但可能通过一些回调函数。

    在 Autohotkey 中,它可能如下所示:

    guicontrolget, editor
    guicontrolget, editor, pos
    textwidth := hwndeditor.2276(32,editor)
    setplace := (editorW /2) - textwidth /2
    hpeditor.2155(0,setplace)
    

    【讨论】:

      猜你喜欢
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 2013-10-02
      • 1970-01-01
      • 2014-11-19
      • 2012-01-27
      相关资源
      最近更新 更多