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_RightClickLes 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.
Exemple
If OpenWindow(0, 0, 0, 400, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 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, StringByteLength(Texte$, #PB_UTF8), *Texte) FreeMemory(*Texte) Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf
OS Supportés
Tous