2012-05-22 6 views
0

"F"와 같은 간단한 문자에 대한 바로 가기가있는 기본 메뉴 항목이 있습니다.keyEquivalents가 FlexNativeMenu를 중단하여 키 입력을 도용하지 못하게하려면 어떻게해야합니까?

<s:menu> 
    <mx:FlexNativeMenu id="mainMenu" 
         dataProvider="{menuData}" 
         labelField="@label" 
         keyEquivalentField="@keyEquivalent" 
         showRoot="false" /> 
</s:menu> 

<fx:Declarations> 
    <fx:XML format="e4x" id="menuData"> 
     <root> 
      <menuitem label="Edit"> 
       <menuitem label="Frame Selection" keyEquivalent="f"/> 
      </menuitem> 
     </root> 
    </fx:XML> 
</fx:Declarations> 

이 잘 작동하지만, 난 아무데도 응용 프로그램에있는 텍스트 필드에 텍스트 또는에서 textInput 를 입력하려고 할 때, 나는 지금까지 F를 입력 기운 다.

메뉴가 키보드 입력을 도용하지 못하게하는 방법은 무엇입니까?

답변

0

예를 들어, 단축키에 더 좋은 패턴을 사용하면 CTRL + F와 같은 컨트롤 키를 사용할 수 있습니다.

귀하의 메뉴 항목 때문에 내가 더 나은 해결책을 찾을 때 이미 제어 키를 사용하고 있지만, 대신 직접 컨트롤 + F의 f를 사용하는 것을 선호 controlKey="true"

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx"> 

    <s:menu> 
     <mx:FlexNativeMenu id="mainMenu" 
          dataProvider="{menuData}" 
          labelField="@label" 
          keyEquivalentField="@keyEquivalent" 
          showRoot="false" /> 
    </s:menu> 

    <fx:Declarations> 
     <fx:XML format="e4x" 
       id="menuData"> 
      <root> 
       <menuitem label="Edit"> 
        <menuitem label="Frame Selection" 
           keyEquivalent="f" 
           controlKey="true" /> 
       </menuitem> 
      </root> 
     </fx:XML> 
    </fx:Declarations> 

    <s:TextInput /> 

</s:WindowedApplication> 
+0

포함 할 것, 나는 왜 메뉴 항목이해야 할 이유를 볼 수 없습니다 버블 링하지 말고 키보드 이벤트를 멈추십시오. –

+0

"f"만 지정하면 설계시 편리하게 강력한 빠른 가속기를 정의 할 수 있습니다. 텍스트 입력 작업과 결합하는 것은 논리적이지 않습니다. 그러나 즉각적인 이벤트 전파를 중단하여 고유 한 유용성을 찾고 있다고 생각합니다. –

+0

어도비 측에서 오류가있는 것 같습니다. http://forums.adobe.com/thread/708981 –