ScintillaGadget()

Syntax

Ergebnis = ScintillaGadget(#Gadget, x, y, Breite, Höhe, @Callback())
Beschreibung
Erstellt ein neues Scintilla Editor-Control innerhalb der aktuellen Gadgetliste.

Parameter

#Gadget Eine Nummer zum Identifizieren des neuen Gadgets. #PB_Any kann verwendet werden, um diese Zahl automatisch zu generieren.
x, y, Breite, Höhe Die Position und Dimensionen des neuen Gadgets.
@Callback() Die Adresse einer Prozedur, 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:
  Procedure ScintillaCallBack(Gadget, *scinotify.SCNotification)
    ; Ihr Code hier
  EndProcedure

Rückgabewert

Gibt im Erfolgsfall einen Wert ungleich Null zurück. Wenn #PB_Any als #Gadget Parameter verwendet wurde, dann wird im Erfolgsfall die automatisch generierte Gadget-Nummer zurückgegeben.

Anmerkungen

Die folgenden Ereignisse werden durch EventType() unterstützt:
  #PB_EventType_RightClick
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, 330, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    
    ScintillaGadget(0, 10, 10, 320, 70, 0)
    
    ; Ausgabe auf rote Farbe setzen
    ScintillaSendMessage(0, #SCI_STYLESETFORE, 0, RGB(255, 0, 0))
    
    ; Anfänglichen Text des ScintillaGadgets festlegen
    *Text=UTF8("This is a simple ScintillaGadget with text...")
    ScintillaSendMessage(0, #SCI_SETTEXT, 0, *Text)
    FreeMemory(*Text) ; der von UTF8() erstellte Puffer muss freigegeben werden, um Speicherverluste zu vermeiden
    
    ; Hinzufügen einer zweiten Zeile mit einem vorherigen Zeilenumbruch
    Text$ = Chr(10) + "Second line"
    *Text=UTF8(Text$)
    ScintillaSendMessage(0, #SCI_APPENDTEXT, StringByteLength(Text$, #PB_UTF8), *Text)
    FreeMemory(*Text)
    
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

Unterstützte OS

Alle

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