오늘 하루 종일 이것땜시 헤매네여...ㅠㅠ
음...모달폼으루 검색창을 하나 띄우는데여...
컴포넌트이동을 엔터키루 하게 했거덩여...
모든 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;
> 오늘 하루 종일 이것땜시 헤매네여...ㅠㅠ
>
> 음...모달폼으루 검색창을 하나 띄우는데여...
>
> 컴포넌트이동을 엔터키루 하게 했거덩여...
>
> 모든 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가 되어서
엔터시에두 버튼 클릭 이벤트가 발생하는 것이었슴돠....
이렇게 간단한걸 반나절 동안 찾다니...난 ....바보 였나부다.. -_-;;
쩝...역쉬 검색을 잘하면 답이 보이는군...냐하하^^
참고 하세여~