Q&A

  • [q] about tstringgrid
q&a 찾다가 지쳐 질문합니다. ㅡ.ㅡ



stringgrid에 문자 입력은 오떻게 하는 겁니까?

셀 선택 -> 문자입력 -> 엔터 -> 다음 셀로 이동...

2  COMMENTS
  • Profile
    홍세비 2000.06.26 02:28
    castle road wrote:

    > q&a 찾다가 지쳐 질문합니다. ㅡ.ㅡ

    >

    > stringgrid에 문자 입력은 오떻게 하는 겁니까?

    > 셀 선택 -> 문자입력 -> 엔터 -> 다음 셀로 이동...



    안녕하세요. 홍세빕니다.



    허일학님의 제작하신 xProject에서 발췌한 내용입니다.



    //EnterKey로스트링그리드의 셀이동.

    procedure TF119.StringGrid2KeyPress(Sender: TObject; var Key: Char);

    begin

    if Key = #13 then begin

    Key := #0;

    with StringGrid2 do begin

    { //좌우로움직이는경우

    if Col < ColCount-1 then //다음 column

    Col := Col + 1

    else if Row < RowCount-1 then //다음 Row

    begin

    Row := Row + 1;

    Col := 1;

    end

    else

    begin //Grid의 끝이면 Top으로

    Row := 1;

    Col := 1;

    end;

    }

    //아래위로 움직이는겨우

    if Row < RowCount-1 then

    Row := Row + 1

    else if Col < ColCount-1 then

    begin

    Col := Col + 1;

    Row := 1;

    end

    else

    begin

    Row := 1;

    Col := 1;

    end;



    end; //with StringGrid2 do begin...End...

    end; //if Key = #13 then begin...End..

    end;



    도움이 되셨기를....

  • Profile
    최용일 2000.06.25 11:51
    안녕하세요. 최용일입니다.



    Q&A에 많이 질문했던 문제인데... 문서가 많아서 못찾은 것 같네요. 스트링그리드의



    OnKeyPress이벤트에 아래와 같이 코딩하세요.



    procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);

    begin

    if Key = Char(vk_Return) then // 엔터키가 입력되면 다음셀로 이동

    begin

    if (StringGrid1.Col + 1) = StringGrid1.ColCount then // 마지막 Column일때

    begin

    if (StringGrid1.RowCount - 1) = StringGrid1.Row then

    // 마지막 Row이면 새로 한줄 추가

    StringGrid1.RowCount := StringGrid1.RowCount + 1;

    // 다음 Row의 첫번째 Column으로 이동

    StringGrid1.Row := StringGrid1.Row + 1;

    StringGrid1.Col := 1;

    end



    else // 마지막 Column이 아니면

    StringGrid1.Col := StringGrid1.Col + 1; // 다음 Column으로 이동

    end;

    end;



    ^^ 항상 즐코하세요.



    castle road wrote:

    > q&a 찾다가 지쳐 질문합니다. ㅡ.ㅡ

    >

    > stringgrid에 문자 입력은 오떻게 하는 겁니까?

    > 셀 선택 -> 문자입력 -> 엔터 -> 다음 셀로 이동...