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;
}
}
});
如果你覺得一個答案的問題解決了,請把它標記爲通過點擊綠色的對勾「接受」。這有助於將重點放在仍然沒有答案的舊帖子上。 –