|
void __fastcall TForm1::ListView1KeyPress(TObject *Sender, char &Key)
{
if(Key==ASCII_CR)
{
ListView1Click(Sender);
Edit1->SetFocus();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
TListItem *lidata;
if(Key==ASCII_CR)
{
ListView1->Selected->Caption = Edit1->Text;
//ListView1->Selected->Index = ListView1->Selected->Index + 1;
ListView1->SetFocus();
}
}
ListView1Click(Sender) 이것은 마우스로 클릭한 곳의
아이템 Caption을 Edit1에 넣는 부분입니다.
먼저 리스트 뷰의 어느 한 줄을 클릭하면 선택된 곳의
아이템의 캡션이 Edit1의 Text로 들어가고,
거기에서 수정을 한 후에 Enter Key를 치게 되면
다시 ListView1로 입력 포커스가 돌아가게 되는데
이때 먼저 선택된 바로 다음 라인으로 선택된 영역을 옮기고 싶습니다.
그래서 간단하게
//ListView1->Selected->Index = ListView1->Selected->Index + 1;
이 부분처럼 했는데
Index라는 놈은 어떻게 제어를 할 수 없는가 봅니다. 에러메세지가 뜨더군요.
음.. 제가 질문을 제대로 했는지 모르겠습니다.
그럼 답변을 기다리겠습니다. 감사합니다..
|