하나의 form 위에 panel 을 놓고...
그위에 여러개(20개 정도)의 edit control 이 있습니다.
탭키나 엔터키 또는 방향키를 통해서 포커스가 edit를 이동하게 하구요
포커스를 가졌을 때와 잃었을 때에 따라서 색깔을 다르게 하려구요...
현재... 아래와 같은 방법으로... 하고 있거든여...
각각의 edit 에 대해서 OnEnter 와 ONEXIT 함수를 만들어서...
procedure TFM_ItmMst.Edit1Enter(Sender: TObject);
begin
Edit1.Color := clInfobk;
end;
procedure TFM_ItmMst.Edit1Exit(Sender: TObject);
begin
Edit1.Color := clWindow;
end;
이런 함수는 20 여번에 걸쳐 반복하고 있습니다.
정말 무식하죠?.... ^^;
이걸 하나의 프로시저로 만들어서 사용할 수는 없나요?...
델파이를 접한지... 얼마 되지 않아서....
조언 부탁드립니다....
20개의 에디트의 OnEnter와 OnExit를 아래 이벤트로 연결하세요. 그럼 20개씩 만들 필요가 없습니다. 대부분의 이벤트는 Sender파라매터에 이벤트를 발생시킨 컴포넌트를 넘겨줍니다...
procedure TFM_ItmMst.Edit1Enter(Sender: TObject);
begin
TEdit(Sender).Color := clInfobk;
end;
procedure TFM_ItmMst.Edit1Exit(Sender: TObject);
begin
TEdit(Sender).Color := clWindow;
end;
류성심 wrote:
> 하나의 form 위에 panel 을 놓고...
> 그위에 여러개(20개 정도)의 edit control 이 있습니다.
>
> 탭키나 엔터키 또는 방향키를 통해서 포커스가 edit를 이동하게 하구요
> 포커스를 가졌을 때와 잃었을 때에 따라서 색깔을 다르게 하려구요...
>
> 현재... 아래와 같은 방법으로... 하고 있거든여...
> 각각의 edit 에 대해서 OnEnter 와 ONEXIT 함수를 만들어서...
>
> procedure TFM_ItmMst.Edit1Enter(Sender: TObject);
> begin
> Edit1.Color := clInfobk;
> end;
>
> procedure TFM_ItmMst.Edit1Exit(Sender: TObject);
> begin
> Edit1.Color := clWindow;
> end;
>
> 이런 함수는 20 여번에 걸쳐 반복하고 있습니다.
> 정말 무식하죠?.... ^^;
>
> 이걸 하나의 프로시저로 만들어서 사용할 수는 없나요?...
> 델파이를 접한지... 얼마 되지 않아서....
> 조언 부탁드립니다....