Bonjour,

J'ai une application qui écrit des résultats dans une zone wx.TextCtrl au fur et à mesure de son déroulement. Je ne souhaite pas que l'on puisse déplacer la position du curseur parce que cela entraine l'ecriture de la suite du texte à la nouvelle position. Comment faire ?

Voilà le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
class Application(wx.App):
    def OnInit(self):
        fen = fenapp()
        fen.Show(True)
        self.SetTopWindow(fen)
        return 1
 
class fenapp(wx.Frame):
    def __init__(self, titre):
        wx.Frame.__init__(self, None, 1, title = titre, size = (400, 400))
        menuFichier = wx.Menu(style = wx.MENU_TEAROFF)
        menuFichier.Append(wx.ID_OPEN, "&Créer gedcom\tCTRL+O", "menu creation")
        menuFichier.AppendSeparator()
        menuFichier.Append(wx.ID_EXIT, "&Quitter\tCTRL+Q", "menu quitter")
        menuBarre = wxMenuBar()
        menuBarre.Append(menuFichier, "&Fichier")
        self.SetMenuBar(menuBarre)
 
        self.zonetxt = wx.TextCtrl(self, -1, size = self.GetClientSize(), style=wx.TE_MULTILINE|wx.TE_READONLY)
 
        wx.EVT_MENU(self, wx.ID_EXIT, self.OnExit)
        wx.EVT_MENU(self, wx.ID_OPEN, self.ChoisirRep)
 
    def ChoisirRep(self, evt):
        fen = wx.DirDialog(self,message="Choisir le dossier Griot à traiter ...",defaultPath="c:\griot3")
        self.zonetxt.Remove(0,1000)
        if fen.ShowModal() == wx.ID_OK:
            CreerGedcom(fen.GetPath(),self.zonetxt)
        else:
            exit
    def OnExit(self, evt):
        self.Destroy()
 
app = Application()
app.MainLoop()
CreerGedcom est la fonction qui écrit dans la zone wx.TextCtrl.

Cordialement.