Q&A

  • [급질문]SetFocus에 관한 질문! (부탁합니다!)
예를들어, 폼상에 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;

0  COMMENTS