2016-11-15 7 views
0

TextViewer을 사용하고 있으며 기본적으로 SWT 컨텍스트 메뉴를 복사하고 모두 선택합니다. 작업에서 키 바인딩을 제거하는 방법이 있습니까?키 바인딩없이 TextViewer에서 복사 작업을 허용하려면 어떻게해야합니까?

특별한 경우 : 키 바인딩이 마스터 트리에있는 키 바인딩과 충돌하기 때문에 필요합니다.

TextViewer에 대해 Ctrl + C을 사용하고 컨텍스트 메뉴를 사용하려면 '복사'를 마우스 오른쪽 버튼으로 사용하고 싶지 않습니다.

+0

이 그것을 표시하십시오. 이렇게하면 여전히 답변이없는 이전 게시물에 집중할 수 있습니다. –

답변

0

맨 먼저 : 플랫폼에서 제공하는 일반적인 기능을 비활성화하지 마십시오.

응용 프로그램 소프트웨어는 여러 응용 프로그램에서 공통적으로 발생하는 사용자 상호 작용에 일관된 인터페이스를 제공하기 위해 플랫폼에 기반합니다.

여전히 특정 키 바인딩을 사용하지 않으려면 StyledText::addKeyVerifyListener 또는 Display :: addFilter()를 사용하여 키 입력을 가로 채고 해당 이벤트가 처리되지 않도록 할 수 있습니다. 예를 들어

: 당신이 대답이 문제를 해결 느끼는 경우 녹색 체크 표시를 클릭하여 '승인'으로

StyledText styledText = textViewer.getTextWidget(); 
styledText.addVerifyKeyListener(new VerifyKeyListener() { 
    @Override 
    public void verifyKey(VerifyEvent event) { 
    if(event.character == 'c' && (event.stateMask & SWT.CTRL) != 0) { 
     event.doit = false; 
    } 
    } 
});