Q&A

  • StringGird와 Combobox의 연결?
StringGrid에서 한 열에는 일정한 값중 하나를 선택해야 합니다.

예를 들면, 1열은 1-8중 하나만을 선택하게 되어 있습니다.

이 경우에 combobox같은 것이 있어서, 그 중 하나를 선택하게 했으면 하는데요..

이 기능을 구현하기 위해서는 어떻게 해야 하나요?

혹시 이 기능이 포함된 콘트롤이 있나요?

아니면, 그리드 위에 combobox를 하나씩 놓으면 되나요?

답변 기다리겠습니다.

좋은 하루 되세요..

1  COMMENTS
  • Profile
    구창민 1999.09.08 23:12
    sirius 께서 말씀하시기를...

    > StringGrid에서 한 열에는 일정한 값중 하나를 선택해야 합니다.

    > 예를 들면, 1열은 1-8중 하나만을 선택하게 되어 있습니다.

    > 이 경우에 combobox같은 것이 있어서, 그 중 하나를 선택하게 했으면 하는데요..

    > 이 기능을 구현하기 위해서는 어떻게 해야 하나요?

    > 혹시 이 기능이 포함된 콘트롤이 있나요?

    > 아니면, 그리드 위에 combobox를 하나씩 놓으면 되나요?

    > 답변 기다리겠습니다.

    > 좋은 하루 되세요..





    스트링 그리드의 원하시는 위치에 ComboBox를 얹어 놓으면 어떨까요?

    그리고, gdfocused 확인 안하시면 화면떨림현상이 있을수 있다고,

    반드시 확인 하라고 책에 나와 있네요 ^^;

    아래 내용을 참조하시구요..

    그럼... 즐거운 프로그래밍 되시길~~



    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;

    Rect: TRect; State: TGridDrawState);

    begin

    if (gdfocused in state) then

    begin

    with ComBoBox1 do

    begin

    ItemIndex := 0;

    if StringGrid1.Col = 2 then

    begin

    Left := Rect.Left + StringGrid1.Left;

    Top := Rect.Top + StringGrid1.Top;

    Width := Rect.Right - Rect.Left;

    visible := true;

    end

    else

    Visible := false;

    end;

    end;

    end;





    procedure TForm1.ComboBox1Click(Sender: TObject);

    begin

    StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] :=

    ComboBox1.Items[ComBoBox1.ItemIndex];

    end;