ContextMenu und Ausklappmenü?!

heino-th

Erfahrenes Mitglied
Nabend,

ich habe ein problem, das ich komischerweise, nicht wie sonst durch die Referenz, lösen kann! ^^

Also, ich möchte gerne, dass der Benutzer über das Kontextmenü die Sprache wählen kann!
Deshalb möchte ich ein sogenanntes "Ausklappmenü" basteln :D

Nur wie kann ich das bewerkstelligen?
Normale Kontextmenü Enträge kann ich ja mit new ContextMenu und new ContextMenuItem usw. zusammenbauen,
aber wie kann ich solche Ausklappmenüs wie beim Flashplayer unter Qualitär erstellen!

Ich hoffe jmd von euch kann mir helfen ;)

Aja, nebenbei, wo ich auch gerade suche, wie kann ich einzelne Objekte des Kontextmenüs ausblenden?
Also nicht die die ich selber erstelle, die kann ich ja mit .visible sichbar bzw. unsichtbar machen!
Ich meine aber die die schon Standardmäßig eingebaut sind!
Den großteil von denen kann man ja z.b. mit Stage.showMenu ein- und ausblenden!
Aber da ich ja ein eigenes Kontextmenü erstelle, verschwinden diese dadurch auch?!

//edit: Das untere Problem hab ich schon gelöst: wens intressiert -> Menüname.hideBuiltInItems(); ;)


Vielen Dank schonmal

mfg heino
 
Zuletzt bearbeitet:
Hi,

laut Flashhilfe und meinen Versuchen eben scheint das zumindest bis Flash 7 nicht zu gehen (lasse mich aber gerne eines besseren belehren).

Du könntest bestenfalls beim Klick auf Dein Custom-Item ein selbstgestaltetes Menü mit weiteren Optionen einblenden.

Gruß
.
 
hm, ja, in der flash hilfe habe ich auch leider vergebens gesucht, auch in der von flash 8 ?!
gut, muss ich noch n bisschen weiter rum probieren *g*
Wenn ichs rausgefunden hab obs funktioniert dann post ichs hier ^^

Aja, noch ne Frage, geht dann zumindest so ein Eintrag mit diesem Hackal davor?
Also das z.b. drei zur auswahl stehen und man eins anklicken kann wo dann des hackal davor steht?

danke ;)
 
Soweit ich weiß nicht. Du kannst den Eintrag lediglich deaktivieren (blass anzeigen), aber dann lässt er sich nicht mehr selektieren ...

Gruß
.
 
hm, schade :/
trotzdem danke für die schnellen Antworten!

und noch ne Frage, ich probier grad aus eine variable als Name des EIntrags zu verwenden:

Code:
var Sprache:ContextMenuItem = new ContextMenuItem(Systemsprache, KontextMenu_Sprache);
Sprache.visible = true;
Kontextmenü.customItems.push(Sprache);

aber irgendwie will das grad ned funktionieren?!
Muss ich da etwa etwas besonderes beachten, wenn der name dynamisch sein soll?

thx :D
 
Hi,

folgendes funktioniert zumindest:
Code:
var foo = new ContextMenu();
foo.hideBuiltInItems();

var SystemSprache = "ENGLISCH";
var bar = new ContextMenuItem(SystemSprache, onClick);

foo.customItems.push(bar);

function onClick(id, obj) {
	trace(obj.caption + " geklickt!");
}

_root.menu = foo;

Gruß
.
 
ja, das hab ich auch schon hinbekommen ^^ trotzdem danke

ich müsste aber mit System.capabilities.language die Systemsprache in eine variale und dann ins kontextmenü?!

geht das dann überhaupt?
 
Ah, juhuu, habs gschafft ^^
das Pronblem mit der dynamischen Sprache ;)

Hier die EINFACHER Lösung!
Code:
Systemsprache = "\"" + System.capabilities.language + "\"";
var Kontextmenü:ContextMenu = new ContextMenu();
Kontextmenü.hideBuiltInItems();
var Sprache:ContextMenuItem = new ContextMenuItem(Systemsprache, KontextMenu_Sprache);
Sprache.visible = true;
Kontextmenü.customItems.push(Sprache);
//hier dann z.b. noch ne Funktion mit namen: KontextMenu_Sprache
this.menu = Kontextmenü;

Vielen Dank nochmal an Datic

mfg heino
 
Zurück