모두들 안녕하세요. 이제 새해인데 모두 보람찬 새해가 됐으면 좋겠스니다.
제가 궁금한것은 제가 폼에 아래와 같이
프로시저문을 만들고 에디트박스을 여러게 놓고
그 버튼 keydown에 엔터가 눌리면 이벤트 발생하도록했는데
모든 폼에 있는 에디트박스에서 키다운에 각각 다른 이벤가
발생하도록 코딩했음에도 불구하고 모든 곳에서 아래 프로시저
문이 발생을 합니다. 도대체 왜저러는 건지???
procedure kill;
begin
if edtName = '' then
begin
MessageDlg('도서제목을 입력하세요.', mtconfirmation, [mbOk], 0);
edtName.setfocus;
exit;
end;
end;
____________________________________________________________________
procedure TfrmMain.edtBookNoKeyDown(Sender: TObject; var Key: Word;|
Shift: TShiftState); |
begin |
kill; |
end; |
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
저 네모에와 같이 kill 프로시저를 호출하는 건 한군데만 쓰고 다른 에디트박스
에는 각각 다른 것을
이부분이.....
if edtName.text = '' then
가 되어야하지 않나요?
초짜 올림 wrote:
> 모두들 안녕하세요. 이제 새해인데 모두 보람찬 새해가 됐으면 좋겠스니다.
>
> 제가 궁금한것은 제가 폼에 아래와 같이
>
> 프로시저문을 만들고 에디트박스을 여러게 놓고
>
> 그 버튼 keydown에 엔터가 눌리면 이벤트 발생하도록했는데
>
> 모든 폼에 있는 에디트박스에서 키다운에 각각 다른 이벤가
>
> 발생하도록 코딩했음에도 불구하고 모든 곳에서 아래 프로시저
>
> 문이 발생을 합니다. 도대체 왜저러는 건지???
>
> procedure kill;
> begin
> if edtName = '' then
> begin
> MessageDlg('도서제목을 입력하세요.', mtconfirmation, [mbOk], 0);
> edtName.setfocus;
> exit;
> end;
> end;
>
> ____________________________________________________________________
> procedure TfrmMain.edtBookNoKeyDown(Sender: TObject; var Key: Word;|
> Shift: TShiftState); |
> begin |
> kill; |
> end; |
> ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
>
> 저 네모에와 같이 kill 프로시저를 호출하는 건 한군데만 쓰고 다른 에디트박스
>
> 에는 각각 다른 것을