ScintillaSendMessage()

Syntaxe

Resultat = ScintillaSendMessage(#Scintilla, Message [, Param [, LParam]])
Description
Envoie un message au gadget scintilla pour exécuter une tâche spécifique.

Arguments

#Scintilla Le numéro d'identification du gadget scintilla.
Message Le message à envoyer.

C'est un nombre entier sous la forme d'une constante prédéfinie qui commence par '#SCI_'.

Vous trouverez plus d'informations sur les messages possibles sur le site Scintilla. Les constantes #SCI_[...] représentant les valeurs possibles pour le 'Message' sont déjà définies dans PB.
Param (optionnel) Le premier paramètre du message.
S'il est omis alors la valeur par défaut est zéro.
LParam (optionnel) Le second paramètre du message.
S'il est omis alors la valeur par défaut est zéro.

Valeur de retour

Renvoie le résultat du message envoyé.

Exemple: Texte surligné en rouge

  #num_indic = 0
  
  If OpenWindow(0, 0, 0, 330, 90, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
    If InitScintilla()
      ScintillaGadget(0, 5, 5, 320, 80, 0)
      *Texte = UTF8("Ceci est un simple ScintillaGadget avec du texte..." + #LF$ + "Plus de texte" + #LF$ + "Encore plus !")
      ScintillaSendMessage(0, #SCI_SETTEXT, 0, *Texte)
      FreeMemory(*Texte) ; Le tampon créé par UTF8() doit être libéré pour éviter une fuite de mémoire
      
      ScintillaSendMessage(0, #SCI_INDICSETSTYLE, #num_indic, #INDIC_STRAIGHTBOX) ; "indicateur" de style : style  n°8 (0-19)
      ScintillaSendMessage(0, #SCI_INDICSETFORE, #num_indic, #Red)                ; "indicateur" de couleur : rouge
      ScintillaSendMessage(0, #SCI_SETINDICATORCURRENT, #num_indic, #INDIC_STRAIGHTBOX) ; cet "indicateur" est traité comme indicateur en cours
      ScintillaSendMessage(0, #SCI_INDICSETUNDER, #num_indic, 1)   ; l'"indicateur" est derrière le texte, c'est-à-dire ne l'obscurcit pas
      ScintillaSendMessage(0, #SCI_INDICSETALPHA, #num_indic, 127) ; transparence de 127
      nLigne = 1 ; le numéro de ligne commence à 0
      debut = ScintillaSendMessage(0, #SCI_POSITIONFROMLINE, nLigne)
      longueur = ScintillaSendMessage(0, #SCI_GETLINEENDPOSITION, nLigne) - debut
      ScintillaSendMessage(0, #SCI_INDICATORFILLRANGE, debut, longueur) ; Départ et longueur
    EndIf
    
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

OS Supportés

Tous

<- ScintillaGadget() - Scintilla Index