2010-12-06 9 views
1

hey .. Ich habe ein Panel (nennen wir es Mainpanel) mit ein paar Panels in ihm und anderen Widgets. Ich muss wissen, woran ich wx.EVT_LEFT_DOWN binden muss, damit es ein Ereignis für Klicks irgendwo im Mainpanel und seinen Kindern auslöst. z.B. wenn ich auf ein textctrl im mainpanel klicke, möchte ich, dass es das auch aufhebt. Bindung an Mainpanel funktioniert nicht. bitte helfe ich muss wirklich eine Lösung für dieses finden, das mich wütend macht! p.s. binding everychild an die wx.EVT_LEFT_DOWN ist keine Option Ich habe Hunderte von Kindern Ich möchte wirklich nicht auf diese Route gehenwxpython, was ein application wide mouse event an

Antwort

0

Text-Steuerelemente essen Mausklicks, so dass Sie nur wollen, um das Fokus-Ereignis für sie zu fangen. Ich denke, der Rest sollte funktionieren.

+0

mein Problem ist, wenn ich an Mainpanel binden nur Klicks in diesem Panel nicht in seinen Kindern abgeholt werden. keine Kinder Widgets funktionieren nicht .. sogar Panels. scheint, dass ich zu jeder einzeln binden muss – james

+0

Vielleicht sollten Sie erklären, warum Sie diese Funktionalität benötigen. –

+0

Ich versuche, meine eigene Listbox zu machen. Ich möchte mein eigenes, einzigartig aussehendes Listenfeld, das Bilder und Text und Schaltflächen innerhalb der Spalten und Zeilen enthält. also mache ich es mit Panels. jetzt für den auswahlvorgang der auswahl eines panels in der liste habe ich ein problem, weil in der panel gibt es andere tafeln und texte und tasten etc. so will ich etwas, so dass wenn ich auf eines der untergeordneten in diesem panel klicken wird es auslösen ein Ereignis, bei dem das Hauptfenster, das ich hervorgehoben haben möchte, nicht angezeigt wird, um seine ausgewählte – james