여러개의 TEdit, TMaskEdit, TComboBox 컴포넌트에 OnKeyPress 이벤트를 설정
하여 'Enter'키를 누르면 다음 컴포넌트로 Focus 가 이동을 하게 작성을
하였습니다. 그런다음 각 컴포넌트마다 '데이터 값'이 입력이 되지 않으면
'Enter'키를 눌러도 다음 컴포넌트로 Focus 가 이동을 못하게 할려고 하였는데
잘 안되어서 자문을 구하고자 올렸습니다.
밑에 있는 내용은 제가 작성을 하다가 막힌 부분입니다. 참고하십시요.
procedure TfrmTaxation.edtTcodeKeyPress(Sender: TObject; var Key: Char);
begin
IF (Sender As TEdit).Text = '' then
exit
else
If Key = #13 then
begin
SelectNext(Sender As TwinControl,True,True);
Key := #0;
end;
end;
> 여러개의 TEdit, TMaskEdit, TComboBox 컴포넌트에 OnKeyPress 이벤트를 설정
>
> 하여 'Enter'키를 누르면 다음 컴포넌트로 Focus 가 이동을 하게 작성을
>
> 하였습니다. 그런다음 각 컴포넌트마다 '데이터 값'이 입력이 되지 않으면
>
> 'Enter'키를 눌러도 다음 컴포넌트로 Focus 가 이동을 못하게 할려고 하였는데
>
> 잘 안되어서 자문을 구하고자 올렸습니다.
>
>
>
> 밑에 있는 내용은 제가 작성을 하다가 막힌 부분입니다. 참고하십시요.
>
>
> procedure TfrmTaxation.edtTcodeKeyPress(Sender: TObject; var Key: Char);
> begin
> IF (Sender As TEdit).Text = '' then
> exit
> else
> If Key = #13 then
> begin
> SelectNext(Sender As TwinControl,True,True);
> Key := #0;
> end;
> end;
>
안냐세요... ^^
별문제는 없는것 같은데...
IF (Sender As TEdit).Text = '' then
이부분이 문제인것 같습니다..
왜냐면 TEdit, TMaskEdit, TComboBox 는 모두 클래스타입이 틀리기 때문에
문제가 발생한것 같습니다.
(Sender as TComponent).Components[i].ClassType
이런 문장을 사용하여 클래스 타입부터 지정하셔야 될것 같습니다..
저두 많이는 안써봤거든요.. 그래서 이정도 밖에는 도움이 않되겠네요..
그럼 즐거운 고딩하세요... ^_^