ScintillaGadget()

Syntax

Ergebnis = ScintillaGadget(#Gadget, x, y, Breite, Höhe, @Callback())
Beschreibung
Erstellt ein neues Scintilla Editor-Control innerhalb der aktuellen Gadgetliste. Wenn #PB_Any als '#Gadget' Parameter verwendet wird, dann wird die neue Gadgetnummer als 'Ergebnis' zurückgegeben.

'@callback()'sollte die Adresse einer Prozedur sein, um Ereignisse vom Control zu empfangen. Sie muss wie folgt definiert werden, wobei 'Gadget' die Gadgetnummer des Controls ist und *scinotify auf eine Struktur mit Informationen über das Ereignis zeigt:
  ProcedureDLL ScintillaCallBack(Gadget, *scinotify.SCNotification)
    ;
    ; Die ProcedureDLL Deklaration ist wichtig, damit der Callback korrekt auf MacOSX arbeitet,
    ; auf allen anderen OS hat er keinen Effekt.
    ;
  EndProcedure
Nach der Erstellung können Scintilla-spezifische Befehle mit dem ScintillaSendMessage() Befehl an das Control gesandt werden. Zusätzlich können ebenfalls die gebräuchlichen Gadget-Befehle wie ResizeGadget() oder HideGadget() mit dem Control verwendet werden.

Beispiel:

  If OpenWindow(0, 0, 0, 320, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
     If InitScintilla()
        ScintillaGadget(0, 10, 10, 300, 70, #Null)
        
        ; Output set to red color
        ScintillaSendMessage(0, #SCI_STYLESETFORE, 0, RGB(255, 0, 0))
        
        ; Set the initial text to the ScintillaGadget
        ScintillaSendMessage(0, #SCI_SETTEXT, 0, @"This is a simple ScintillaGadget with text...")
        
        ; Adding a second line of text with linebreak before
        Text$ = Chr(10) + "Second line"
        ScintillaSendMessage(0, #SCI_APPENDTEXT, Len(Text$), @Text$)
     EndIf
     
     Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

Unterstützte OS

Alle

<- InitScintilla() - Scintilla Inhaltsverzeichnis - ScintillaSendMessage() ->