Seite 1 von 1

wx.TextCtrl problem automakierung beim anklicken

Verfasst: Freitag 1. Februar 2008, 19:08
von SonGuko
hi,
es ist schwer zu erklären, aber ich suche nach folgendem:
im textfeld soll nach dem starten des programmst sofort etwas ist grau drin stehen. wenn man mit der maus auf das feld klickt und was reinschreibt verschwindet der text sofort wieder.
andere möglichkeit wäre, dass der text im textfenster automatisch makiert wird, wenn man ins feld klickt.

ich hoffe, dass problem ist leicht zu lösen. am besten gefällt mir die 2te variante :)

http://paste.pocoo.org/show/25115/

Verfasst: Freitag 1. Februar 2008, 20:39
von gerold
Hallo SonGuko!

So vielleicht:

Code: Alles auswählen

        #zeiteingabefenster
        self.txt_minutes = wx.TextCtrl(self, value = "Dauer in Minuten")
        hbox.Add(self.txt_minutes, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 6)
        self.txt_minutes.Bind(wx.EVT_SET_FOCUS, self.on_textctrl_set_focus)
        self.txt_minutes.Bind(wx.EVT_LEFT_UP, self.on_textctrl_left_up)
        
        ...
    
    
    def on_textctrl_set_focus(self, event):
        event.Skip()
        event_object = event.GetEventObject()
        if isinstance(event_object, wx.TextCtrl):
            self.focused_textctrl = event_object
    
    
    def on_textctrl_left_up(self, event):
        event.Skip()
        event_object = event.GetEventObject()
        if event_object is self.focused_textctrl:
            self.focused_textctrl = None
            event_object.SelectAll()
mfg
Gerold
:-)

Verfasst: Freitag 1. Februar 2008, 23:42
von SonGuko
vielen, vielen dank, genau so wollte ich es haben :)
was würde ich nur ohne dich machen? :cry: