Ich habe ein Bild für eine Squeak Morphic GUI, die einige transparente Teile enthält und daher keine Mausereignisse usw. akzeptieren soll, sondern nur sichtbar sein soll, aber es muss vor anderen Morphs sichtbar sein.
Deshalb dachte ich, es wäre nützlich, die erscheinenden Mausereignisse auf die zugrunde liegenden Morphs zu übertragen. Kennt jemand eine Lösung für mein Problem oder einen anderen Vorschlag, um es zu lösen.
%Vor%Ich hoffe, das veranschaulicht mein Problem.
Das Beste, woran ich denken kann, ist etwas in den folgenden Zeilen (in aufsteigender Reihenfolge der Glätte und abnehmender Reihenfolge der Wahrscheinlichkeit, zu arbeiten)
Standardmäßig werden Morphic-Mausereignisse im obersten Morph behandelt. Ein Eltern-Morph kann jedoch #mouseDown
auf Kinder unter Verwendung von #mouseDownPriority
abfangen.
Ihr transparentes Bild erhält alle Klicks, weil es am höchsten ist. Schauen Sie sich #rejectsEvent:
an. Es kombiniert nur #isLocked
und #visible
, um Ereignisse abzulehnen. Sie können dies überschreiben, um Ereignisse abzulehnen, selbst wenn sie sichtbar sind.
Zum Beispiel:
%Vor%Tags und Links smalltalk squeak event-handling morphic