Hallo, ich bins schon wieder und wuerde gerne wissen wie ich die Position des Cursors(dem blinkendem Ding nach dem die Zeichen erscheinen ) in einem TextCtrl auf eine bestimmte Position setze, bzw die Position des Cursors rausbekomme, beides wuerde ich eigentlich brauchen.
Danke fuers Lesen und im vorraus fuer alle Antworten!
PS. Falls einer weiss wie ich den markierten Text in einem TextCtrl bekomme waere ich auch dankbar
Zweiteres habe ich schon rausgefunden:
GetStringSelection()
wx.TextCtrl: Position des Cursors setzen.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo name!
mfg
Gerold
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import wx
import wx.lib.fancytext as fancytext
wx.SetDefaultPyEncoding("iso-8859-1")
class MyFrame(wx.Frame):
def __init__(
self, parent = None, id = -1, title = "Example", size = wx.Size(550, 420)
):
wx.Frame.__init__(self, parent, id, title, size = size)
self.lastfocus = None
panel = wx.Panel(self)
vbox_main = wx.BoxSizer(wx.VERTICAL)
panel.SetSizer(vbox_main)
self.txt1 = wx.TextCtrl(panel, size = wx.Size(600, 200), style = wx.TE_MULTILINE)
vbox_main.Add(self.txt1, 1, wx.EXPAND | wx.ALL, 5)
self.txt2 = wx.TextCtrl(panel, size = wx.Size(-1, 100), style = wx.TE_MULTILINE)
vbox_main.Add(self.txt2, 0, wx.ALL | wx.EXPAND, 5)
panel.Fit()
self.Fit()
self.SetSizeHints(*self.GetSize())
self.timer = wx.Timer()
self.timer.Bind(wx.EVT_TIMER, self.on_timer)
self.timer.Start(1500)
def on_timer(self, event):
txt1 = self.txt1
txt2 = self.txt2
txt2.AppendText("\nCursor Pos: %03i; " % txt1.GetInsertionPoint())
txt2.AppendText("Last Pos: %03i; " % txt1.GetLastPosition())
txt2.AppendText("Lines %03i; " % txt1.GetNumberOfLines())
sel = txt1.GetSelection()
txt2.AppendText(
"Selection: (%i, %i) '%s'='%s'" % (
sel[0], sel[1], txt1.GetRange(*sel), txt1.GetStringSelection()
)
)
def main():
"""Testing"""
app = wx.PySimpleApp()
f = MyFrame()
f.Center()
f.Show()
app.MainLoop()
if __name__ == "__main__":
main()
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Hm. Ich muesste die Pos des Cursors bestimmen wenn das Objekt abgewaehlt wird, gibts dazu auch eine Moeglichkeit, und gerold, danke danke danke fuer deine Hilfe!
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi name!name hat geschrieben:Ich muesste die Pos des Cursors bestimmen wenn das Objekt abgewaehlt wird
Ich würde, wenn das TextCtrl den Fokus verliert, die Position zwischenspeichern. Diese kannst du dann jederzeit weiterverwenden.
http://paste.pocoo.org/show/731/
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.