Я пытаюсь установить Markerbackgrounds для плагина notepad ++, который я пишу, чтобы можно было выделить определенные строки.Цвета хранятся в виде целых чисел, которые конвертируются из Color.ToArgb ():
int colour = Convert.ToInt32(Color.LightSkyBlue.ToArgb())
Из того, что я понимаю в документации по Scintillia, он принимает только цвета RGB, поэтому я использую следующую функцию, чтобы вырезать часть Alphaцвета.Это устанавливает цвет, но вместо синего я получаю оранжевый вместо синего.Это правильный способ установить цвет фона маркера?
private static void DefineColor(int type, int colour)
{
string hexValue = colour.ToString("X");
hexValue = hexValue.Remove(0, 2);
//hexValue = "0x" + hexValue
int decValue = Convert.ToInt32(ColorTranslator.FromHtml(hexValue));
//int decValue = int.Parse("FF", System.Globalization.NumberStyles.AllowHexSpecifier);
Win32.SendMessage(PluginBase.nppData._scintillaMainHandle, SciMsg.SCI_MARKERDEFINE, type, (int)SciMsg.SC_MARK_BACKGROUND);
Win32.SendMessage(PluginBase.nppData._scintillaMainHandle, SciMsg.SCI_MARKERSETBACK, type, decValue);
Win32.SendMessage(PluginBase.nppData._scintillaMainHandle, SciMsg.SCI_MARKERSETFORE, type, 0);
}