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)
  
    If InitScintilla()
      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 ; die Zeilennummern beginnen 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
    EndIf
    
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

Unterstützte OS

Alle

<- ScintillaGadget() - Scintilla Inhaltsverzeichnis