hatte gestern eine Begegnung der dritten Art mit TextCtrl

Und zwar möchte ich einfach die ersten und letzten 10 Zeichen in einem best. Output, der auf ein TextCtrl gelenkt wird einfärben. Angenommen bei allen "somethings" hier handelt es sich um Strings und TextField ist ein TextCtrl-Feld, dann funktioniert folgender Code:
Code: Alles auswählen
self.TextField.write(self.something1 + "'")
x = self.TextField.GetLastPosition()
self.TextField.SetStyle(x-11,x-1,wx.TextAttr("Blue"))
self.TextField.write(self.something2 + "'")
self.TextField.write(self.something3 + '\n')
x = self.TextField.GetLastPosition()
self.TextField.SetStyle(x-11,x-1,wx.TextAttr("Blue"))
Code: Alles auswählen
self.TextField.write(self.something1)
x = self.TextField.GetLastPosition()
self.TextField.SetStyle(x-10,x,wx.TextAttr("Blue"))
self.TextField.write(self.something2)
self.TextField.write(self.something3 + '\n')
x = self.TextField.GetLastPosition()
self.TextField.SetStyle(x-10,x,wx.TextAttr("Blue"))
Gut, habe ja was ich wollte, aber kann mir jemand erklären wo hier der Fehler in meiner Annahme ist, daß beide snippets bzgl. des Einfärbens der somethings identisch sein müßten - abgesehen von den Füllzeichen ("'") natürlich? Der wesentliche Faktor war, daß ich irgendetwas von x abziehen muß, sonst funktioniert es fehlerhaft. Deshalb brauchte ich natürlich die Füllzeichen, sonst wird ja nicht korrekt eingefärbt.
Wäre toll, wenn mich jemand "erleuchten" könnte.
Gruß,
Christian