6. ファイルメニュー機能をつける

次にやるべきことは、メニュー機能の実装とユーザーとを相互に作用させることです。ダイアログはユーザーからの入力を直接受け取るために使われます。ダイアログはモーダルアプリケーション、すなわちダイアログが閉じるまで現在のアプリケーション上の他のウィンドウを使うことができないものです。

    def OnMnufileitems0Menu(self, event):
        dlg = wxFileDialog(self, "Choose a file", ".", "", "*.*", wxOPEN)
        try:
            if dlg.ShowModal() == wxID_OK:
                filename = dlg.GetPath()
                # Your code
        finally:
            dlg.Destroy()
        event.Skip()
    def OnMnufileitems0Menu(self, event):
        dlg = wxFileDialog(self, "Choose a file", ".", "", "*.*", wxOPEN)
        try:
            if dlg.ShowModal() == wxID_OK:
                filename = dlg.GetPath()
                self.txtEditor.LoadFile(filename) 
              self.FileName=filename         
        finally:
            dlg.Destroy()
#注:windows環境でうまく読み込めない人はself.txtEditor.LoadFile(filename)を
self.txtEditor.SetValue(open(filename, 'r').read().decode("mbcs"))
に変えてみてください。どちらにせよ、ファイル名に日本語をつけるとファイルを見つけてくれません。
    def OnMnufileitems2Menu(self, event):
        dlg = wxFileDialog(self, "Save File As", ".", "", "*.*", wxSAVE)
        try:
            if dlg.ShowModal() == wxID_OK:
                filename = dlg.GetPath()
                self.txtEditor.SaveFile(filename) 
                self.FileName=filename         
        finally:
            dlg.Destroy()
    def OnMnufileitems3Menu(self, event):

        self.FileName = None
       self.txtEditor.Clear()
    def OnMnufileitems4Menu(self, event):
        self.Close()
    def __init__(self, parent): 
        self._init_ctrls(parent)
        self.FileName=None
    def OnMnufileitems1Menu(self, event):
        if self.FileName == None:
            return self.OnMnufileitems2Menu(event)
        else:
            self.txtEditor.SaveFile(self.FileName)


Next: ダイアログウィンドウを作成する