Q&A

  • 모달폼에 대한 질문임돠...^^
오늘 하루 종일 이것땜시 헤매네여...ㅠㅠ



음...모달폼으루 검색창을 하나 띄우는데여...



컴포넌트이동을 엔터키루 하게 했거덩여...



모든 Edit컴포에 전부 연결 시켜 주구여...근데



플그램을 실행 시켜놓으면 이 이벤트를 타지 않구 엉뚱한 버튼 이벤트를 타 버립니다..



쩝 오늘 하루 죙일 알아본 결과 원인은 대충 알겠는데 왜 그런지 영 모르겠군여...



버튼 이벤트를 타는 이유는 버튼이 비트맵버튼이고 속성은 kind = bkOK ,



ModalResult = mrok 으로 했슴돠..이것으루 한 이윤 기본 비트맵 'v'자가 나타나게 할려구여... -_-



여러 고수님들 왜 Edit 컴포에서 keypress이벤트를 거치지 않구 버튼 클릭 이벤트를 타는지 갈켜 주세여...흑흑....



소스두 올림돠....^^;;



procedure TfrmPopUp.BtnOkClick(Sender: TObject);

// edit 박스에서 조건 입력후 엔터키를 누르면 이 이벤트를 타 버립니다..-_-

begin

// 클라이언트에서 쿼리로 검색....

with DM1.Qr1 do

begin

Close;

Sql.Clear;

쿼리 어쩌구 저쩌구....^^;;;

OPen;

Last;

First;

end;

If DM1.Qr1.RecordCount = 0 then

begin

showmessage('found Not Data');

check := 3;

end Else

begin

check := 1;

end;

end;



procedure TfrmPopUp.FormClose(Sender: TObject; var Action: TCloseAction);

begin

case check of

1 : ModalResult := mrOK;

2 : ModalResult := mrCanCel;

3 : ModalResult := mrNone;

else ModalResult := mrNone;

end;

end;



procedure TfrmPopUp.Cb_FilgbnKeyPress(Sender: TObject; var Key: Char);

begin

If Key = #13 Then

Begin

SelectNext(Sender As TWinControl, True, True);

Key := #0;

End;

end;



procedure TfrmPopUp.BtnCancelClick(Sender: TObject);

begin

If MessageDlg('취소 하시겠습니까?',mtInformation,

[mbOk,mbcancel],0) = mrOk then

begin

check := 2;

end;

end;



procedure TfrmPopUp.FormCreate(Sender: TObject);

begin

check := 0;

end;







1  COMMENTS
  • Profile
    방경주 2000.11.14 01:02
    방경주 wrote:

    > 오늘 하루 종일 이것땜시 헤매네여...ㅠㅠ

    >

    > 음...모달폼으루 검색창을 하나 띄우는데여...

    >

    > 컴포넌트이동을 엔터키루 하게 했거덩여...

    >

    > 모든 Edit컴포에 전부 연결 시켜 주구여...근데

    >

    > 플그램을 실행 시켜놓으면 이 이벤트를 타지 않구 엉뚱한 버튼 이벤트를 타 버립니다..

    >

    > 쩝 오늘 하루 죙일 알아본 결과 원인은 대충 알겠는데 왜 그런지 영 모르겠군여...

    >

    > 버튼 이벤트를 타는 이유는 버튼이 비트맵버튼이고 속성은 kind = bkOK ,

    >

    > ModalResult = mrok 으로 했슴돠..이것으루 한 이윤 기본 비트맵 'v'자가 나타나게 할려구여... -_-

    >

    > 여러 고수님들 왜 Edit 컴포에서 keypress이벤트를 거치지 않구 버튼 클릭 이벤트를 타는지 갈켜 주세여...흑흑....

    >

    > 소스두 올림돠....^^;;

    >

    > procedure TfrmPopUp.BtnOkClick(Sender: TObject);

    > // edit 박스에서 조건 입력후 엔터키를 누르면 이 이벤트를 타 버립니다..-_-

    > begin

    > // 클라이언트에서 쿼리로 검색....

    > with DM1.Qr1 do

    > begin

    > Close;

    > Sql.Clear;

    > 쿼리 어쩌구 저쩌구....^^;;;

    > OPen;

    > Last;

    > First;

    > end;

    > If DM1.Qr1.RecordCount = 0 then

    > begin

    > showmessage('found Not Data');

    > check := 3;

    > end Else

    > begin

    > check := 1;

    > end;

    > end;

    >

    > procedure TfrmPopUp.FormClose(Sender: TObject; var Action: TCloseAction);

    > begin

    > case check of

    > 1 : ModalResult := mrOK;

    > 2 : ModalResult := mrCanCel;

    > 3 : ModalResult := mrNone;

    > else ModalResult := mrNone;

    > end;

    > end;

    >

    > procedure TfrmPopUp.Cb_FilgbnKeyPress(Sender: TObject; var Key: Char);

    > begin

    > If Key = #13 Then

    > Begin

    > SelectNext(Sender As TWinControl, True, True);

    > Key := #0;

    > End;

    > end;

    >

    > procedure TfrmPopUp.BtnCancelClick(Sender: TObject);

    > begin

    > If MessageDlg('취소 하시겠습니까?',mtInformation,

    > [mbOk,mbcancel],0) = mrOk then

    > begin

    > check := 2;

    > end;

    > end;

    >

    > procedure TfrmPopUp.FormCreate(Sender: TObject);

    > begin

    > check := 0;

    > end;





    답을 찾았슴돠...^^



    미테 다른걸 찾다가 발견한건데 kind를 지정해 놓으면 Default속성이 true가 되어서



    엔터시에두 버튼 클릭 이벤트가 발생하는 것이었슴돠....



    이렇게 간단한걸 반나절 동안 찾다니...난 ....바보 였나부다.. -_-;;



    쩝...역쉬 검색을 잘하면 답이 보이는군...냐하하^^



    참고 하세여~