

Code : Tout sélectionner
SyntaxHighlightingLine(#Editor_0, "0/1/2/3/4/5/6/7/8/9", "/", RGB($EC,$F2,$0), fond_editor, taille_fonte, "Comic Sans MS", #CFM_BOLD)
Code : Tout sélectionner
Global HighlightOn.b
Procedure.s ApplicationDir()
appdir$ = Space(255)
GetCurrentDirectory_(255, @appdir$)
If Right(appdir$, 1) <> "\" ; si l'adresse ne finit pas par "\"
appdir$ = appdir$ + "\" ; on rajoute le "\"
EndIf
ProcedureReturn appdir$
EndProcedure
;initialisation des variables de coloration syntaxique
;HL_Init_KeyWord(ApplicationDir()+"kw.txt")
HL_Init_KeywordData(?keywords,3)
DataSection
keywords:
Data.s "ADD"
Data.s "VDISK"
Data.s "DELETE"
EndDataSection
HL_Init_Comments(";")
HL_Init_Strings(34)
HL_Color_Strings(0,255,0)
HL_Color_Entiers(255,255,0)
HL_Color_Comments(255,0,255)
HL_Color_Keywords(21,72,124)
HL_Color_Text(128,64,0)
If OpenWindow(0,0,0,800,600,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"EditorGadget") And CreateGadgetList(WindowID(0))
EditorGadget (30,8,8,400,500,#PB_Container_Raised)
CheckBoxGadget(40,10,515,200,20,"Activer la coloration des Strings")
CheckBoxGadget(41,10,535,200,20,"Activer la coloration des MotsClefs")
CheckBoxGadget(42,10,555,200,20,"Activer la coloration des Commentaires")
CheckBoxGadget(43,10,575,200,20,"Activer la coloration des Entiers")
TrackBarGadget(44,220,515,200, 40, 1, 300)
SetGadgetState(44,5)
TextGadget(45,220,555,200,30,"Zoom : 5 / 300",#PB_Text_Center)
Editor_Font(30,"Comic Sans MS")
Editor_FontSize(30,16)
For a=0 To 5
If a=0 Or a=5
Editor_Format(30,#CFM_ITALIC|#CFM_STRIKEOUT)
EndIf
If a=1 Or a=4
Editor_Format(30,#CFM_UNDERLINE|#CFM_BOLD)
EndIf
If a=2 Or a=3
Editor_Format(30,0)
EndIf
AddGadgetItem(30,a,"Line "+Str(a))
Next
Editor_Format(30,0)
ButtonGadget(1,440,10,150,50,"Changer la Couleur de Fond",#PB_Button_MultiLine)
ButtonGadget(2,610,10,150,50,"Changer la Couleur du Texte",#PB_Button_MultiLine)
ButtonGadget(3,440,60,150,50,"Copier le contenu du presse-papiers et la coller à la fin",#PB_Button_MultiLine)
ButtonGadget(4,610,60,150,50,"Retourne la position du curseur (Relative-X-Y)",#PB_Button_MultiLine)
ButtonGadget(5,440,110,150,50,"Couper le contenu du presse-papiers et la coller à la fin",#PB_Button_MultiLine)
ButtonGadget(6,610,110,150,50,"Selection de la ligne 1 à la ligne 3 et Suppression de la Sélection",#PB_Button_MultiLine)
ButtonGadget(7,440,160,150,50,"Undo",#PB_Button_MultiLine)
ButtonGadget(8,610,160,150,50,"Redo",#PB_Button_MultiLine)
ButtonGadget(9,440,210,150,50,"Mettre le focus sur l'éditeur",#PB_Button_MultiLine)
ButtonGadget(10,610,210,150,50,"Activer la coloration syntaxique",#PB_Button_MultiLine)
ButtonGadget(11,440,260,150,50,"Ajout de 100 lignes, descente à la ligne finale puis remontée à la première ligne",#PB_Button_MultiLine)
ButtonGadget(12,610,260,150,50,"Imprimer le contenu du EditorGadget",#PB_Button_MultiLine)
ButtonGadget(13,440,310,150,50,"Coller un texte défini à l'avance",#PB_Button_MultiLine)
ButtonGadget(14,610,310,150,50,"Ouvrir un fichier dans l'EditorGadget",#PB_Button_MultiLine)
ButtonGadget(15,440,360,150,50,"Sauver le contenu de l'EditorGadget",#PB_Button_MultiLine)
; ButtonGadget(16,610,360,150,50,"test16",#PB_Button_MultiLine)
; ButtonGadget(17,440,410,150,50,"test17",#PB_Button_MultiLine)
; ButtonGadget(18,610,410,150,50,"test18",#PB_Button_MultiLine)
; ButtonGadget(19,440,460,150,50,"test19",#PB_Button_MultiLine)
; ButtonGadget(20,610,460,150,50,"test20",#PB_Button_MultiLine)
; ButtonGadget(21,440,510,150,50,"test21",#PB_Button_MultiLine)
; ButtonGadget(22,610,510,150,50,"test22",#PB_Button_MultiLine)
; ButtonGadget(23,440,560,150,40,"test23",#PB_Button_MultiLine)
; ButtonGadget(24,610,560,150,40,"test24",#PB_Button_MultiLine)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_EventGadget
Select EventGadgetID()
Case 1
rgb=RGB(Random(255),Random(255),Random(255))
Editor_ColorBackground(30,rgb)
SetGadgetText(1,"Fond (RGB) : "+Str(Red(rgb))+","+Str(Green(rgb))+","+Str(Blue(rgb)))
Case 2
rgb=RGB(Random(255),Random(255),Random(255))
Editor_ColorText(30,0,1,0,5,rgb)
SetGadgetText(2,"Texte (RGB) : "+Str(Red(rgb))+","+Str(Green(rgb))+","+Str(Blue(rgb)))
;Editor_Locate(30,1,1)
Case 3
Editor_Select(30,1,1,1,-1)
Editor_Copy(30)
Editor_Locate(30,-1,-1)
Editor_Paste(30)
Case 4
pos=Editor_CursorPos(30)
x=Editor_CursorX(30)
y=Editor_CursorY(30)
SetGadgetText(4,"Position : Pos-"+Str(pos)+" - X-"+Str(x)+" - Y-"+Str(y))
Case 5
Editor_Select(30,1,1,1,-1)
Editor_Cut(30)
Editor_Locate(30,-1,-1)
Editor_Paste(30)
Case 6
Editor_Select(30,1,1,3,-1)
Editor_DeleteSel(30)
Case 7
Editor_Undo(30)
Case 8
Editor_Redo(30)
Case 9
Editor_Activate(30)
Case 10
If HighlightOn=1
HighlightOn=0
SetGadgetText(10,"Activer la coloration syntaxique")
Else
HighlightOn=1
SetGadgetText(10,"Désactiver la coloration syntaxique")
EndIf
Case 11
For i = 0 To 100
AddGadgetItem(30,-1,"Ligne "+RSet(Str(i),4,"0"))
Editor_Down(30)
Delay(40)
While WindowEvent():Wend
Next i
For i = 0 To 100
Editor_Up(30)
Delay(100)
While WindowEvent():Wend
Next i
Case 12
Editor_Print(30,"Test d'impression par la librairie LibEditorPlus")
Case 13
Editor_PasteText(30, "PureBasic, c'est trés fort ! Utilisez LibEditorPlus !")
Case 14
file$=OpenFileRequester("Choisir le fichier à ouvrir dans l'EditorGadget","","All files (*.*)|*.*",0)
If file$
Editor_OFile(30,file$,"Erreur de fichier")
Else
MessageRequester("Information", "Vous devez choisir un fichier à ouvrir.", 0)
EndIf
Case 15
Case 16
MessageRequester("",Str(Editor_CursorX(30)),#PB_MessageRequester_Ok)
; Case 17
; Case 18
; Case 19
; Case 20
; Case 21
; Case 22
; Case 23
; Case 24
Case 44
Rtr=Editor_Zoom(30,GetGadgetState(44),300)
SetGadgetText(45, "Zoom : "+Str(GetGadgetState(44))+" / 300")
If Rtr=0
Debug "Erreur : Impossible de Zoomer"
EndIf
EndSelect
EndIf
New.s=GetGadgetText(30)
If HighlightOn=1
If new.s<>old.s
Editor_Highlight(30)
old=new
; Editor_Color(30,RGB(128,64,0))
EndIf
If GetGadgetState(40)=1
test=HL_Activate_Strings(1)
Else
test=HL_Activate_Strings(0)
EndIf
If GetGadgetState(41)=1
test1=HL_Activate_Keywords(1)
Else
test1=HL_Activate_Keywords(0)
EndIf
If GetGadgetState(42)=1
test2=HL_Activate_Comments(1)
Else
test2=HL_Activate_Comments(0)
EndIf
If GetGadgetState(43)=1
test3=HL_Activate_Entiers(1)
Else
test3=HL_Activate_Entiers(0)
EndIf
EndIf
Until EventID=#PB_Event_CloseWindow
End
EndIf