스트링그리드에서는 MaxLength를 지정할 수 없습니다.
사용할 수 있는 방법은 OnKeyPress 이벤트에서 현재 셀의 입력길이를
확인하여 길이를 초과하면 입력된 키 값을 클리어 시키는 방법 뿐입니다.
예컨데,
if (Length(StringGrid1.Cells[Col,Row]) >= 40) then
Key := #0;
하는 방법이죠.
물론, 변칙을 써서 스트링그리드의 현재 셀위에 에디터박스를 띄워서
마치 스트링그리드의 셀인 것처럼 사용하는 방법이 있긴 합니다.
이 방법은 미리 TEdit 박스 등을 배치하여 놓고,
스트링그리드의 OnSelectCell 이벤트에
Edit1의 Left, Top, Width, Height을 지정하고 Edit1으로 포커스를
이동하면 됩니다. 물론 Edit1.MaxLength를 그때그때 변경해 주어야
겠지요.
|