Невозможно стилизовать текст ScintillaNet после или перед окраской синтаксиса - PullRequest
2 голосов
/ 23 февраля 2011
var scin = new Scintilla();
ScintillaHotspotStyle = scin.Styles.LastPredefined.Index + 1;
scin.Margins[0].Width = 20;
scin.Caret.HighlightCurrentLine = true;

scin.Styles[ScintillaHotspotStyle].IsHotspot = true;
scin.Styles[ScintillaHotspotStyle].Underline = true;
scin.Styles[ScintillaHotspotStyle].ForeColor = System.Drawing.Color.Blue;

var contents = File.ReadAllText(file);
scin.Text = contents;

//scin.ConfigurationManager.Language = "cpp";
//scin.ConfigurationManager.Configure();

scin.GetRange(2, 5).SetStyle(ScintillaHotspotStyle);

//scin.ConfigurationManager.Language = "cpp";
//scin.ConfigurationManager.Configure();

Неважно, какой порядок закомментированных строк, или если выполняется вызов .Configure () - результат тот же: Not working

Если, однако, я делаюне применять подсветку синтаксиса, она работает: Working

Сцинтилла довольно запутанная, поэтому я, вероятно, что-то делаю не так - но я не уверен, что ...

1 Ответ

0 голосов
/ 08 марта 2011

Я думаю, что нарушение синтаксиса применяется после вашей работы. Или, например, если вы читаете документацию по сцинтилле, кажется, что у стиля горячей точки есть ограниченная функция.

""» Стиль каретки, выделения и точки доступа

Выбор отображается путем изменения цветов переднего плана и / или фона. Если один из них не установлен, то этот атрибут не изменяется для выбора. По умолчанию выбор отображается, изменяя фон на светло-серый и оставляя передний план таким же, как когда он не был выбран. Когда выбор отсутствует, текущая точка вставки помечается текстовой кареткой. Это вертикальная линия, которая обычно мигает, чтобы привлечь внимание пользователей. "" "

Вы пытались заставить стиль, изменяющийся в области, которая не синтаксически нарушена? Рядом с основным или распечатать в качестве примера.

И попробуйте, установив цвет фона.

...