ScintillaGadget()

Syntaxe

Resultat = ScintillaGadget(#Scintilla, X, Y, Largeur, Hauteur, @Callback())
Description
Crée un nouveau contrôle d'édition scintilla.

Arguments

#Scintilla Le numéro d'identification du nouveau gadget scintilla.

#PB_Any peut être utilisé pour générer automatiquement ce numéro.
X, Y, Largeur, Hauteur La position et les dimensions du nouveau gadget.
@Callback() L'adresse de la procédure qui recevra les évènements émis par le gadget.
Elle doit être définie de la façon suivante, avec 'Gadget' qui est le numéro du contrôle et *scinotify qui pointe vers une structure comportant les informations sur l'évènement:

  ProcedureDLL ScintillaCallBack(Gadget, *scinotify.SCNotification)
    ;
    ; Votre code ici.
    ;
  EndProcedure

Valeur de retour

Renvoie une valeur non nulle en cas de succès, zéro sinon.

Remarques

Les événements suivants sont pris en charge par EventType():
  #PB_EventType_RightClick


InitScintilla() doit être appelé avec succès avant d'utiliser cette commande.

Les commandes spécifiques de Scintilla peuvent être envoyées au gadget avec la commande ScintillaSendMessage() .
En outre les commandes de gadgets communes comme ResizeGadget() ou HideGadget() peuvent aussi bien être utilisées par le contrôle.

Sous Windows, le fichier Scintilla.dll qui se trouve dans le dossier "Compilers" de PureBasic doit être livré avec votre application. Sous OS X ou Linux, la bibliothèque est liée de manière statique, il n'y a donc aucun objet partagé supplémentaire à inclure.

Exemple

  If OpenWindow(0, 0, 0, 400, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
 
       If InitScintilla()
          ScintillaGadget(0, 10, 10, 390, 70, 0)
       
          ; Texte en rouge
          ScintillaSendMessage(0, #SCI_STYLESETFORE, 0, RGB(255, 0, 0))
       
          ; Définit le texte initial du ScintillaGadget
          *Texte=UTF8("Hé, voici un simple ScintillaGadget avec du texte...")
          ScintillaSendMessage(0, #SCI_SETTEXT, 0, *Texte)
          FreeMemory(*Texte) ; Le tampon créé par UTF8() doit être libéré pour éviter les fuites de mémoire.
                 
          ; Ajout d'une deuxième ligne de texte précédée d'un saut de ligne
          Texte$ = Chr(10) + "Seconde ligne."
          *Texte=UTF8(Texte$)
          ScintillaSendMessage(0, #SCI_APPENDTEXT, Len(Texte$), *Texte)
          FreeMemory(*Texte)
       EndIf
     
       Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
    EndIf

OS Supportés

Tous

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