문제

나는 많은 버튼이있는 MATLAB GUI를 가지고 있습니다.이제 단추에 일부 샷 컷을 설정하고 싶습니다. 사실 하나의 버튼을 확인할 수 있으며 잘 작동합니다. 내 Questin은 두 개의 버튼이 누르면 확인할 수있는 방법입니다.

Ctrl + 키와 같은 것. Ctrl 키가 필요하지 않아야합니다.= 키 조합이 될 수 있습니다.

도움을 주셔서 감사합니다. 영어로 죄송합니다.

하나의 키를 확인하려면 다음 코드를 사용합니다.

key1 = get(gcf,'CurrentKey');

if(strcmp (key1 ,'k'))
%CODE HERE
end
.

나는이 (key k, q)에 대해 이것을 시도해 본다 :

key2 = get(gcf,'CurrentKey');

keystr = [key1 + key2];

if(strcmp(keystr, 'kq'))
%CODE HERE
end
.

키보드의 다른 버튼을 누르면 Key1 변경 값이 변경됩니다. 그래서 && 운영자는 결코 풀릴 수 없습니다.

도움이 되었습니까?

해결책

그것은 완전히 일반적이지는 않지만 이것이 트릭을해야한다고 생각합니다 :

먼저 컨트롤을 누르고 있는지 여부를 결정합니다.

modifiers = get(gcf,'currentModifier');        
ctrlIsPressed = ismember('control',modifiers);
.

다음과 같이 현재 키를 확인하고 결과를 결합하십시오.결국 그것은 이렇게 볼 수 있습니다 :

modifiers = get(gcf,'currentModifier');        
key1 = get(gcf,'CurrentKey');

if(strcmp (key1 ,'k')) && ismember('control',modifiers)
    %CODE HERE
end
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top