ScintillaSendMessage()
Syntax
Ergebnis = ScintillaSendMessage(#Gadget, Message [, Param [, lParam]])Beschreibung
Sendet eine Nachricht ("Message") an das Scintilla-Control, um eine bestimmte Aktion auszuführen.
Parameter
#Gadget Das zu verwendende Scintilla-Gadget. Message Die zu sendende Nachricht. Weitere Informationen über die möglichen Nachrichten sind auf der Scintilla Homepage zu finden. Die #SCI_[...] Konstanten, welche die mögliche Werte für 'Message' repräsentieren, sind bereits in PureBasic definiert. Param (optional) Der erste benutzerdefinierte ("custom") Parameter für die angegebene Nachricht. Der Standard-Wert, wenn nicht angegeben, ist Null. LParam (optional) Der zweite benutzerdefinierte ("custom") Parameter für die angegebene Nachricht. Der Standard-Wert, wenn nicht angegeben, ist Null.
Rückgabewert
Das Ergebnis der gesendeten Nachricht.
Beispiel: Text mit roter Hervorhebung (Indikator)
#num_indicator = 0
If OpenWindow(0, 0, 0, 330, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ScintillaGadget(0, 5, 5, 320, 80, 0)
*Text = UTF8("This is a simple ScintillaGadget with text..." + #LF$ + "More text" + #LF$ + "Even more text!")
ScintillaSendMessage(0, #SCI_SETTEXT, 0, *Text)
FreeMemory(*Text) ; der von UTF8() erstellte Puffer muss freigegeben werden, um ein Speicherleck zu vermeiden
ScintillaSendMessage(0, #SCI_INDICSETSTYLE, #num_indicator, #INDIC_STRAIGHTBOX) ; erster Indikator mit Stil 8 (0-19)
ScintillaSendMessage(0, #SCI_INDICSETFORE, #num_indicator, #Red) ; erster Indikator mit roter Farbe
ScintillaSendMessage(0, #SCI_SETINDICATORCURRENT, #num_indicator, #INDIC_STRAIGHTBOX) ; legt den Indikator als den aktuellen fest
ScintillaSendMessage(0, #SCI_INDICSETUNDER, #num_indicator, 1) ; der Indikator wird unter den Text gelegt, d. h. er wird nicht verdeckt
ScintillaSendMessage(0, #SCI_INDICSETALPHA, #num_indicator, 127) ; legt die Transparenz fest
nLine = 1 ; Zeilennummer beginnt bei 0
start = ScintillaSendMessage(0, #SCI_POSITIONFROMLINE, nLine)
length = ScintillaSendMessage(0, #SCI_GETLINEENDPOSITION, nLine) - start
ScintillaSendMessage(0, #SCI_INDICATORFILLRANGE, start, length) ; Start und Länge
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Unterstützte OS
Alle