04. december 1999 - 14:00
Der er
1 kommentar og
1 løsning
RTF og farver....
Hej !
Er der nogen der kan hjælpe mig med at lave en syntakts-farvning procedure til en RTFbox.... ? Boxen loader en HTML fil, eller et andet script, men jeg kan ikke finde ud af hvordan jeg skal lave syntaks-farvning.... med instr() kan jeg finde stederne... men hvordan får jeg hele dokumentet gået igennem ?
Jeg kan godt bruge rtf.selcolor, så det er mere generelt til hvordan jeg opbyger koden, og hvilke funcs der er brugbare.....
På Forhånd Tak....
Ulrik Jensen
05. december 1999 - 14:01
#1
Lav en RTF-box med navnet "rtf" og brug denne kode i Change-eventen. Koden er skrevet meget hurtigt, og den kan forbedres på flere måder, men ideen er god nok. Bl.a. er den lidt langsom, men jeg kan ikke se hvordan man skal gøre det meget hurtigere uden at lege med API, og det er der vist ingen grund til...
Private Sub rtf_Change()
sels = rtf.SelStart
sellen = rtf.SelLength
selcol = rtf.SelColor
rtf.SelStart = 0
rtf.SelLength = Len(rtf.Text)
rtf.SelColor = vbBlack
Dim ResOrd(2)
ResOrd(0) = "HTML"
ResOrd(1) = "BODY"
ResOrd(2) = "HEAD"
start = 1
For id = 0 To UBound(ResOrd)
startsearch:
i = InStr(start, UCase$(rtf.Text), ResOrd(id))
If i Then
rtf.SelStart = i - 1
rtf.SelLength = Len(ResOrd(id))
rtf.SelColor = vbRed
start = i + 1
GoTo startsearch
End If
Next
rtf.SelStart = sels
rtf.SelLength = sellen
rtf.SelColor = selcol
End Sub