저는 Delphi 응용 프로그램을 개발 중입니다.
TImage.MouseDown 이벤트에서 Shift 키를 누르면 X
작업을 수행하고 싶습니다. 제어 키를 누르면 Y
작업이 수행되고 아무 키도 누르지 않으면 Z
작업이 수행됩니다. 그 때문에 나는 TShiftState
변수를 사용하고 있습니다. 이제는이 변수를 매개 변수로 전달해야하는 함수가 있습니다.Delphi : TShiftState 유형 변수를 사용하는 방법?
procedure Something(keyState : TShiftState);
지금이 기능에서는 키의 상태를 확인해야합니까?
if KeyState <> ssShift then begin
end;
위의 코드는 오류를 보여줍니다.
감사합니다. 당신이 ssShift 및 ssCtrl에만 관심이 있다면
procedure Something(keyState : TShiftState);
begin
if ssShift in KeyState then // KeyState contains ssShift (and maybe more)
X;
if ssCtrl in KeyState then // KeyState contains ssCtrl (and maybe more)
Y;
if [ssShift, ssCtrl] * KeyState = [] then // KeyState contains neither ssShift nor ssCtrl
Z;
end;
, 다른 값 (ssAlt, ssLeft : 당신의 갱신에 관한
Something([ssShift]); // X
Something([ssCtrl]); // Y
Something([]); // Z
:
내 편집 된 질문을 참조하십시오. – Himadri
감사합니다 ... 필요한 모든 것을 제공합니다. – Himadri