2012-04-03 2 views
0

Ich möchte ein MapMouseEvent über eine Kombination aus Tastaturkürzeln und einem Mausklick starten. Dies ist ein Teil von dem, was ich habe, und ich bin nicht sicher, ob die Logik korrekt ist:Starten Sie MapMouseEvent in FLEX über Alt + Mausklick

private function MapClick(event:MapMouseEvent):void 
    { 
    if (event.altKey) altPressed = true; 
     { 
      Alert.show("Alt key has been pressed - click on screen"); 
      // launch the function here 
     } 
    else 
     { 
      Alert.show(" Must click Alt key first, then click on map"); 
     } 
    } 

ich auf ähnliche Beispiele auf dieser Seite ausgesehen haben, aber noch keine Lösung erreichen. Ich hoffe, dass jemand, der FLEX kennt, mir helfen kann, eine Funktion über eine Reihe von Tastenkombinationen zu starten. Zum Beispiel: Alt + Mausklick oder Umschalt + Mausklick oder etwas in dieser Richtung. Der Grund ist, dass ein einfacher Mausklick schon etwas anderes auf dem Bildschirm macht.

Dank ...

RJ

Antwort

0

Der Code, den Sie zur Verfügung gestellt haben, ist ganz in der Nähe zu korrigieren.

private function MapClick(event:MapMouseEvent):void 
    { 
    if (event.altKey); 
     { 
      //This means alt is held, AND a click occurred. 
      //run function for alt-click here 
     } 

    if (event.ctrlKey); 
     { 
      //This means ctrl is held, alt was *not* held, AND a click occurred. 
      //run function for ctrl-click here 
     } 

    if (!event.ctrlKey && !event.altKey) 
     { 
      //this means that a click occurred, without the user holding alt or ctrl 
      //run function for normal click here. 
     } 
    } 

Die Art, wie ich dies schrieb, wenn ein Benutzer Strg + Alt hält und klickt, laufen beide Funktionen. Wenn du lieber alt als ctrl o.ä. haben möchtest, funktioniert der folgende Code.

private function MapClick(event:MapMouseEvent):void 
    { 
    if (event.altKey); 
     { 
      //This means alt is held, AND a click occurred. 
      //run function for alt-click here 
     } 
    else if (event.ctrlKey); 
     { 
      //This means ctrl is held, AND a click occurred. 
      //run function for ctrl-click here 
     } 
    else 
     { 
      //this means that a click occurred, without the user holding alt or ctrl 
      //run function for normal click here. 
     } 
    } 
+0

Hey Sam: Danke für die Antwort. Ich war ein wenig offline (späte Antwort), tut mir so leid. Ja, ich sollte besser wissen, die else Aussagen hier auszuschließen. Ok, schau es dir an, um zu sehen, ob ich es schaffen kann ... –