Använd en Richedit control. Den har stöd för det du behöver. Kolla i hjälpen, där finns lite exempel hur man använder den.
// BeatBox
6 svar · 645 visningar · startad av visslaren
jag ska göra en liten phpeditor har jag tänkt, och vill ha färgkodning. så att vissa delar av koden blir en färg och en annan i en annan. Någon som vet hur man fixar det eller kan tipsa om länkar där man kan hitta information om sådant?
tillägg_ använder borland c++ builder 3 om det kan vara till någon nytta
Använd en Richedit control. Den har stöd för det du behöver. Kolla i hjälpen, där finns lite exempel hur man använder den.
// BeatBox
tjoho. nu har jag fått till början på det hela. men jag har bara fått det att färga det som skrivs ut när man trycker på diverse knappar.
måset ju bli färgkodat om man skriver för hand med.
några tips/ideer?
kan man på nåt sätt läsa av en ric edit medan man för hand skriver i den och sen efter att ett ord avslutats med ett mellanslag så färgas det i någon färg. vill också ha det så att om mellanslaget efter det färgade ordet tasbort och två ord därmed flyter ihop så ska färgningen försvinna. kanske blir för krångligt?
kanske blir för krångligt?
Nä
Men du bör väl göra en "syntax-algoritm" som det inmatade jämförs med så att säga "on the fly"... vet inte hur det skulle se ut om man gjorde det i en utvecklingsmiljö som BCB, men genom att windowsprogram körs loopat med meddelanden fram och tillbaks så blir en "on the fly" lösning inte alltför svår
Mao får du koda ihop en egen algoritm och sen implementera den på lämplig plats
Du kan köpa eller ladda ned färgkodningskontroller som kan användas i BCB.
Se http://vclcomponents.com/ och liknande ställen.
Vid varje tangentnedtryckning, så lägger man in tecken i en array. Vid mellanslag "parsar" man ett ord bakåt i denna array, och jämför mot en "syntax" array... Blir det träff (eller nästan träff, man kan implementera rättstavning också..) så färgar man det ordet i önskad färg.
Nu är detta ganska enkelt beskrivet, det blir dock ett antal algoritmer för att kolla när man tex. använder piltangenter.
/T