안녕 하세요.
폼에 Modal로 폼을 하나 띄웁니다 .
거기에 Edit 컨트롤을 붙여 놓구요..
Edit 상에서 Enter, Esc를 눌렸을 경우..
폼을 종료하게 할려구 합니다.
물론.. Enter를 눌렸을 경우는 ModalResult가 mrOk , Esc는 mrCancel을 반환하도록
할려구 합니다.
어떻게 하면될까요 ..
현재
Edit1KeyPress()
begin
//이 함수에서..
if key=#27 then //Esc 일 경우, Button1을 Click한것 처럼 한다.
Begin
key := #0;
Button1.Click;
End
Else if key = #13 Then //Enter 일 경우, Button2를 Click 한것 처럼 한다.
Begin
//key := #0;
Button2.Click;
End;
End;
여기서, Button1에 ModalResult를 mrCancel로, Button2의 ModalResult를 mrOk로 한 상태입니다.
procedure TForm2.Button1Click(Sender: TObject);
begin
close;
end;
이렇게 하니. ESC는 제가 생각하는대로 동작을 하는것 같습니다.
그런데.. Enter는 제대로 동작을 하지 않네요..
Button1과 마찬가지로 Close를 시키면. Modal의 반환값이 mrCancel이 나오는것 같습니다.
어떻게 하면.. Edit에서 Enter를 누르면.. mrOk로 폼 종료, Esc를 누르면 mrCancel로 폼을
종료할 수 있을 까요...
그럼.. 답변 부탁 드리며.. 좋은 하루 보내세요..
버튼의 Property를 찾아보시면 Cancel 이라는 옵션이 있습니다.
이 것은 폼에서 ESC를 사용할시 해당 버튼을 실행하여 주는 옵션입니다.
Enter는 다시 한번 확인 해보세요
그럼 이만..