Описание функции
SCI_INDICATOR
Для выделения чего либо поверх стиля, например ошибок, подсказок и т.д.
Примечания
Набор функций индикатораСм. также
SCI_STYLEПример
; AZJIO
; https://www.purebasic.fr/english/viewtopic.php?p=599333#p599333
EnableExplicit
Enumeration
#num_indicator
EndEnumeration
Define *Text, nLine, start, length
If Not InitScintilla()
End
EndIf
If OpenWindow(0, 0, 0, 330, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ScintillaGadget(0, 10, 10, 320, 70, 0)
*Text = UTF8("Это простой ScintillaGadget с текстом..." + #LF$ + "Больше текста" + #LF$ + "Еще больше текста!")
ScintillaSendMessage(0, #SCI_SETTEXT, 0, *Text)
FreeMemory(*Text)
ScintillaSendMessage(0, #SCI_INDICSETSTYLE, #num_indicator, #INDIC_STRAIGHTBOX) ; первый индикатор со стилем 8 (0-19)
ScintillaSendMessage(0, #SCI_INDICSETFORE, #num_indicator, #Red) ; первый индикатор с красным цветом
ScintillaSendMessage(0, #SCI_SETINDICATORCURRENT, #num_indicator, #INDIC_STRAIGHTBOX) ; делает индикатор текущим
ScintillaSendMessage(0, #SCI_INDICSETUNDER, #num_indicator, 1) ; индикатор под текстом, т.е. не затеняет его
ScintillaSendMessage(0, #SCI_INDICSETALPHA, #num_indicator, 127) ; Прозрачность
; ScintillaSendMessage(0, #SCI_INDICGETOUTLINEALPHA, #num_indicator, 255) ; Прозрачность каймы
nLine = 1 ; номер строки начинается с 0
start = ScintillaSendMessage(0, #SCI_POSITIONFROMLINE, nLine)
length = ScintillaSendMessage(0, #SCI_GETLINEENDPOSITION, nLine) - start
ScintillaSendMessage(0, #SCI_INDICATORFILLRANGE, start, length) ; начало и длина
; ScintillaSendMessage(0, #SCI_INDICATORFILLRANGE, 46, 9) ; начало и длина
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf