예를들어, 폼상에 Edit1.text, Edit2.text, Edit3.text......가 20여개 있고요,
각각의 Edit.text에 코드번호를 입력하고 빠져나올때 ListBox상에 코드에 해당하는 품목이 나열되고 이를선택하고 ListBox를 없앤 후,메인폼의 다음 Edit.text로 Focus를 이동하는 기능이 필요합니다. 어떻게 구현하나요?
[요약] 폼상의 Edit항목에서 Exit 할 때 ListBox를 참조하고 포커스를 제자리 혹은 그 다음항목으로 돌리는 방법!
아래는 제가 하다가 막힌 코드소스입니다.
procedure TFrmDtMg.ListBox1DblClick(Sender: TObject);//리스트박스에서 더블클릭!
var i:integer;
begin
for i:=0 to ComponentCount-1 do begin
if Components[i].name=vComponent then //vComponent는 앞서
"TEdit(Sender).name"를 저장한 스트링변수임!
TEdit(Components[i]).text:=Trim(Copy(ListBox1.Items ListBox1 ItemIndex],3,2))
// 리스트박스에서 선택한 값을 메인폼의 TEdit컴포넌트에돌린다
ListBox1.Visible:=False; // 리스트박스를 없애고
(??)TEdit(Components[i+1]).SetFocus; // 포커스를 다음 컴포넌트에 맞춘다(오류발생!)
바로 윗줄이 문제가 되는 것 같은데, 올바른 방법을 알려주시면 고맙겠습니다.
end;
end;