0
我正在使用TextViewer
并且默认情况下,我正在获取SWT上下文菜单复制和全选。有没有办法从操作中删除键绑定?如何在不使用键绑定的情况下在TextViewer中进行复制操作?
特殊情况:我需要这个,因为键绑定与我在主树中的键绑定发生冲突。
我不希望用户使用Ctrl + C为TextViewer
并只使用上下文菜单右键单击“复制”。
我正在使用TextViewer
并且默认情况下,我正在获取SWT上下文菜单复制和全选。有没有办法从操作中删除键绑定?如何在不使用键绑定的情况下在TextViewer中进行复制操作?
特殊情况:我需要这个,因为键绑定与我在主树中的键绑定发生冲突。
我不希望用户使用Ctrl + C为TextViewer
并只使用上下文菜单右键单击“复制”。
首先,您不应该尝试禁用平台提供的常用功能。
应用程序软件建立在平台上的原因是:为应用程序间的通用用户交互提供一致的接口。
如果您仍想禁用某个键绑定,则可以使用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;
}
}
});
如果你觉得一个答案的问题解决了,请把它标记为通过点击绿色的对勾“接受”。这有助于将重点放在仍然没有答案的旧帖子上。 –