ok Paul, merci ça marche, en fait,
j'étais en train de chercher à tâton,  il n'y avait donc pas de logique .
----- Original Message ----- 
From: "paulber007" <[email protected]>
To: <[email protected]>
Sent: Wednesday, March 07, 2012 1:40 PM
Subject: [progliste] Re: python &syntaxe


> Bonjour à tous,
> Dans ton code, il y a deux choses qui me choquent:
> -  je ne comprend pas pourquoi tu dérives la class ContextMenu de la
> class MainFrame,
> - et il n'y a pas d'instance de la class ContextMenu.
> Comme l'évenement EVT_Context_Menu est attaché à la MainFrame, il est
> préférable que la fonction qui le traite soit une méthode de la mainFrame.
>
> Personnellement, j'écrirai le code suivant:
>
> import wx
> class ContextMenu (wx.Frame):
> def ShowMenu (self):
> menu =wx.Menu ()
> menu.Append (1,"bonjour")
> self.PopupMenu (menu)
>
> class MainFrame (wx.Frame):
> def __init__ (self):
> wx.Frame.__init__ (self,None,-1,title ="essai")
> self.Bind (wx.EVT_CONTEXT_MENU,self.onContextMenu)
>
> def onContextMenu(self,evt):
> ContextMenu(self).ShowMenu()
>
> class MainApp (wx.App):
> def OnInit (self):
> fen =MainFrame ()
> fen.Show (True)
> return True
>
> app =MainApp ()
> app.MainLoop ()
>
> Amitiés.
> Paul.
>
> Le 07/03/2012 09:46, yannick a écrit :
>>
>> bonjour, dans mon  exemple, je cré 3 classes, une pour la frame, une pour 
>> l'application, et j'aimerais créé une autre qui doit gérer les menu 
>> contextuels,
>> si je fais tout dans la classe pour la Frame aucun pb, mais j'aimerais 
>> bien en faire une pour les menus .
>> mais je n'y arrive pas !une idée ?
>> voici le code source :
>> import wx
>> class ContextMenu (MainFrame):
>>   def onContextMenu (self,evt):
>>    menu =wx.Menu ()
>>    menu.Append (1,"bonjour")
>>    self.PopupMenu (menu)
>>
>> class MainFrame (wx.Frame):
>>   def __init__ (self):
>>    wx.Frame.__init__ (self,None,-1,title ="essai")
>>    self.Bind (wx.EVT_CONTEXT_MENU,ContextMenu.onContextMenu)
>>
>> class MainApp (wx.App):
>>   def OnInit (self):
>>    fen =MainFrame ()
>>    fen.Show (True)
>>    return True
>>
>> app =MainApp ()
>> app.MainLoop ()
>>
>>
>> Progliste :
>> Pour se désinscrire de la liste : 
>> mailto:[email protected]?subject=unsubscribe
>>
>> Pour voir les archives de la liste :
>> http://www.mail-archive.com/[email protected]/
>>
>> Pour accéder aux fichiers de la liste
>> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
>> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, 
>> je vous répondrez en privé.
>>
>
> Progliste :
> Pour se désinscrire de la liste : 
> mailto:[email protected]?subject=unsubscribe
>
> Pour voir les archives de la liste :
> http://www.mail-archive.com/[email protected]/
>
> Pour accéder aux fichiers de la liste
> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, 
> je vous répondrez en privé. 


Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.

Répondre à