[PythonCE] Programaticly moving cursor in multi-line edit control

Igor Kaplan igor_kaplan at hotmail.com
Thu Aug 14 02:05:58 CEST 2008


Hello,

  I would like to ask a little advice. Already several days I am trying to
figure out the following problem using ppygui: How to move the cursor in the
edit field to the top of that field.
  In my code I create the frame and then Edit control:
Self.text_entry = gui.Edit(multiline=True)
    sizer = gui.VBox(border=(2,2,2,2), spacing=2)
    sizer.add(self.text_entry)
..

  Later I open the text file and copy it's context into that edit control:
    fl = open(self.filename, 'r')
    l = fl.readlines()
    self.text_entry.text = ""
    for i in l:
      self.text_entry.append(i)

  Only reason why I add the text such long way because if I just do:
Self.text_entry.text = fl.read()
I looze all line breaks and all text goes into 1 line.

  After opening that file I do:
Self.text_entry.selection = 0, 0

  And that line does nothing. For some reasons the cursor always positions
at the same spot in the Edit box after opening the file, somewhere in the
middle and does not want to go to the beginning.

  I also have another event:
Def OnBegin(self, event):
  Self.text_entry.selection = 0, 0

  That event executes on menu item. And something interesting is going on.
Sometimes cursor goes to the beginning of the edit control as it should do,
sometimes moves to some line of the edit box, again, somewhere at the
middle, sometimes just stays where it was.

  I am not sure, if I am doing something incorrectly or positioning of the
cursor does not work in ppygui?
  Would greatly appreciate any advice!

  Many thanks.

   Igor.




More information about the PythonCE mailing list