我正在使用TextViewer
,默认情况下,我正在获取SWT上下文菜单“复制”和“全选”。有没有办法从操作中删除键绑定?
特例:我需要这个,因为键绑定与我在主树中的键绑定冲突。
我不希望用户对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;
}
}
} );