Ich hatte in meinem aktuellen Projekt auch einige Stolpersteine mit Buttons und co gehabt, welche mich haben fast verzweifeln lassen. Generell ist das Erstellen einem kompliziertes Bedienmenü in MQL4/5 eine ziemliche Qual.
Meine Lösung war das korrekte weiterleiten der des ChartEvents abhängig davon zu machen, was gerade geklickt worden ist:
Code:
if((StringFind(sparam,"PasswordWindow")!=-1) && id==(CHARTEVENT_OBJECT_CLICK))
PasswordWindow.ChartEvent(id,lparam,dparam,sparam);
if((StringFind(sparam,"InfoWindow")!=-1) && id==(CHARTEVENT_OBJECT_CLICK))
InfoWindow.ChartEvent(id,lparam,dparam,sparam);
Ansonsten hatte ich auch viele komische Reaktionen in anderen Bedienelementen, welche eigentlich rein logisch nicht hätten auftreten sollen.
Gruß Timo