커서가 Timage 구성 요소 위에있을 때만 감지 백스 페이스 키 (이벤트와 같은)를 누를 가능성이 있습니까? 이 바로 가기는 TImage와 관련된 전용 이미지 처리를 트리거해야합니다.백 스페이스 누름 감지
1
A
답변
4
마우스를 이미지에 입력하거나 이미지를 떠날 때 키 누름 감지 이벤트 (OnMouseEnter, OnMouseLeave)를 활성화/비활성화 할 수 있습니다.
당신은 당신의 양식에 (TKeyEvent와 호환)를 BackDetection 기능이 필요합니다 :
procedure MyForm.BackDetection(Sender: TObject; var Key: word; Shift: TShiftState);
begin
if Key = VK_BACK then begin
...
... Your image-processing code
...
end;
end;
이 KeyPreview
이 True
것을 요구 않습니다.
그런 다음 이미지를 마우스로 가져 가거나 놓을 때이 이벤트를 설정하거나 사용하지 않도록 설정하십시오.
procedure MyForm.MyImageOnMouseEnter(Sender: TObject);
begin
OnKeyPress := BackDetection;
end;
procedure MyForm.MyImageOnMouseLeave(Sender: TObject);
begin
OnKeyPress := nil;
end;
+3
또는 키 이벤트를 항상 설정할 수 있으며 마우스가있는 곳을 확인할 수 있습니다. –
포커스 컨트롤에 입력이 허용되면 어떻게됩니까? –