Form의 KeyPress 이벤트에 Enter를 치면 다음 Control로 넘어가도록
다음과 같이 넣었습니다.
if Key = #13 then
begin
{
SelectNext(ActiveControl as TControl, True, True);
Key := #0;
end;
그런데 보통 컴포넌트들은 잘 먹는데..
지금 인터넷에서 다운받은 컴포넌트가 SelectNext가 안먹네여..
그컴포넌트는 TCustomEdit에서 상속받은 Edit 컴포넌트인데...
그래서
ShowMessage((ActiveControl as TWInControl).Name ) 으로
잘가는지 알아보는데 Name이 Null값으로 나와여.. 아마 여기서
Pointer를 읽어버리는거 같은데..
Name대신 ClassName 으로 하면 잘나오는데... 도대체 모가 문젠지
모르겠네여..
이쪽에 정통하신분께서는 어떤걸 체크해봐야 되는지 답변부탁드립니다.
즐프하세여~~
ㅡㅡ;
그거 안되면 이렇게 해보셈.
이건 모든 컴퍼넌트를 이동하므로..
TEDIT 인지만 체크해주고 하면 될듯하네용...그럼..ㅅㄱ
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
var chk :integer;
begin
if (key=#13) then
begin
chk := TEdit(Sender).ComponentIndex;
if chk= self.ComponentCount-1 then chk:=0
else inc(chk);
TEdit(Components[chk]).setfocus;
end;
end;