Nur Zeile in einer TextArea ändern



  • Guten Tag,

    ich möchte SyntaxHightlighting in meine TextArea einbinden.

    Zur zeit mache ich es so:

    int pos = text.Find(" int ");
    
    	    while(pos != -1) {
    
    		AppendText(text.SubString(0,pos-1).c_str());       
    
    		SetDefaultStyle(wxTextAttr(*wxBLUE));
    		AppendText("int");
    		SetDefaultStyle(wxTextAttr(*wxBLACK));
    
    		text = text.SubString(pos+3,text.Length());
    		pos = text.First(" int ");
    	    }
    
    	    AppendText(text.c_str());
    

    Das ist allerdings sehr langsam bei großen Texten.

    Gibt es eine Möglichkeit die Farbgebung anders zu handlen als oben beschrieben!

    ODER

    Gibt es eine Möglichkeit eine Zeile expliziet zu bearbeiten und der Rest wird nicht neu gezeichnet?

    Danke für Ratschläge



  • Da habe ich doch was feines gefunden und zwar die wxStyledTextCtrl.

    im contrib ordner.


Anmelden zum Antworten