2009-08-01 5 views
0

Wenn ich versuche, die Breite eines mehrzeiligen EditBox Widget einzustellen, flackert es für einen Moment, dann wird gesetzt.Probleme mit mehrzeiligen EditBox-Widget in World of Warcraft AddOn

Gibt es eine Möglichkeit, das Flackern loszuwerden? Oder gibt es alternativ einen Workaround?

+0

Sie erhalten möglicherweise eine bessere Antwort, wenn Sie ein Codefragment veröffentlichen können, das das beschriebene Problem verursacht. Das wird den Experten helfen, etwas zu versuchen, anstatt nur zu sagen "funktioniert für mich" ... – RBerteig

+0

Ich bezweifle, dass das Posten eines Codefragments hier helfen würde. "MyEditBox: SetWidth (w)" bedeutet nicht viel. –

Antwort

0

Es könnte ein Problem mit der Optimierung des UI-Renderings sein. Versuchen Sie, Ihre UIFaster-Einstellung wie hier beschrieben zu ändern: http://www.wowwiki.com/CVar_UIFaster

+0

Ich habe nicht erwartet, hier auf irgendwelche UI & Macro Forum Prominenten zu stoßen! Willkommen bei SO. ;-) –

0

Ich habe dies normalerweise als Folge mehrerer Anrufe auf :SetWidth() in schneller Folge auftreten gesehen. Es gibt zwei Möglichkeiten, wie dies passieren kann: (a) Es wird wirklich mehrmals aufgerufen, oder (b) es wurde mit einer anderen Funktion verbunden/ersetzt, die intern mehrere Anrufe verursacht. Als Schnelltest, versuchen Sie den folgenden Befehl (oder gleichwertig) über das Fenster WoW Chat, während des Bearbeitungsfeld ist sichtbar:

/script MyEditBox:SetWidth(100) 

Wenn die Größenänderungen ohne Flackern, haben Sie Szenario A bekommen - gehen Sie über Ihre addon die logischen Pfade und stellen Sie sicher, :SetWidth() wird nur aufgerufen, wenn angemessen (und nur einmal). Wenn es macht flackern, suchen Sie wahrscheinlich screnario B (oder natürlich die UI Problem Cogwheel erwähnt). Dies kann schwieriger zu debuggen sein, es sei denn, Sie haken/ersetzen SetWidth selbst, aber ein guter erster Schritt wäre, alle anderen Addons zu deaktivieren und zu sehen, ob das Problem sich selbst löst. Wenn nicht, wäre meine erste Vermutung ein Bibliotheksproblem (vorausgesetzt, Sie benutzen eines).