Q&A

  • StringGrid의 Cell에 콤보박스 추가?
무슨 말이냐면요...



제가 StringGrid를 이용해서 값을 입력받을라구 합니다.



학교구분란에...



"대학교", "고등학교", "중학교"



요렇게 세개의 값만 입력 할 수 있게



프로그램을 하고자 합니다.



이 입력란은 콤보박스 형태로 선택하게 하구요...



혹시 이런 것을 구현할 수 있을까요?



할 수 없다면



혹시 컴포넌트가 있을까요???



T_____T



답변 부탁드립니다.



즐거운 하루 되시길....

1  COMMENTS
  • Profile
    유수 1999.05.20 00:53


    안녕하세요.

    물론 가능합니다. 아주 일반적으로 쓰고 있는 방식이기도 하구요.

    특정셀을 선택하는 순간 컴보박스의 크기를 조정하고,

    선택된 셀 바로 위로 콤보박스를 올려넣는 방식입니다.

    아래는 볼랜드사의 QNA에서 퍼온 내용입니다.



    How can I popup my own inplace editor (such as a combobox)

    in a string grid cell?



    Answer:

    The following example demonstrates popping up a Combobox

    as an inplace editor to a Stringrid component.



    Example:



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    {The combobox height is not settable, so we will}

    {instead size the grid to fit the combobox!}

    StringGrid1.DefaultRowHeight := ComboBox1.Height;

    {Hide the combobox}

    ComboBox1.Visible := False;

    end;



    procedure TForm1.ComboBox1Change(Sender: TObject);

    begin

    {Get the ComboBox selection and place in the grid}

    StringGrid1.Cells[StringGrid1.Col,

    StringGrid1.Row] :=

    ComboBox1.Items[ComboBox1.ItemIndex];

    ComboBox1.Visible := False;

    StringGrid1.SetFocus;

    end;



    procedure TForm1.ComboBox1Exit(Sender: TObject);

    begin

    {Get the ComboBox selection and place in the grid}

    StringGrid1.Cells[StringGrid1.Col,

    StringGrid1.Row] :=

    ComboBox1.Items[ComboBox1.ItemIndex];

    ComboBox1.Visible := False;

    StringGrid1.SetFocus;

    end;



    procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col,

    Row: Integer; var CanSelect: Boolean);

    var

    R: TRect;

    begin

    if ((Col = 3) AND

    (Row <> 0)) then begin

    {Size and position the combo box to fit the cell}

    R := StringGrid1.CellRect(Col, Row);

    R.Left := R.Left + StringGrid1.Left;

    R.Right := R.Right + StringGrid1.Left;

    R.Top := R.Top + StringGrid1.Top;

    R.Bottom := R.Bottom + StringGrid1.Top;

    ComboBox1.Left := R.Left + 1;

    ComboBox1.Top := R.Top + 1;

    ComboBox1.Width := (R.Right + 1) - R.Left;

    ComboBox1.Height := (R.Bottom + 1) - R.Top;

    {Show the combobox}

    ComboBox1.Visible := True;

    ComboBox1.SetFocus;

    end;

    CanSelect := True;

    end;



    남윤혁 wrote:

    > 무슨 말이냐면요...

    >

    > 제가 StringGrid를 이용해서 값을 입력받을라구 합니다.

    >

    > 학교구분란에...

    >

    > "대학교", "고등학교", "중학교"

    >

    > 요렇게 세개의 값만 입력 할 수 있게

    >

    > 프로그램을 하고자 합니다.

    >

    > 이 입력란은 콤보박스 형태로 선택하게 하구요...

    >

    > 혹시 이런 것을 구현할 수 있을까요?

    >

    > 할 수 없다면

    >

    > 혹시 컴포넌트가 있을까요???

    >

    > T_____T

    >

    > 답변 부탁드립니다.

    >

    > 즐거운 하루 되시길....





    • 윤미화
    • 1999.05.21 02:40
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 글쎄요.
      1999.05.21 21:25
      FindFirst,FindNext,Findclose 함수에 대해 델파이가 버그를 가지고 있습니다. 이 함수가 두군데 unit에 ...
    • 이정욱
      1999.05.21 02:42
      구창민님께서 만드신 디렉토리를 몽땅 날려버리는 소스 입니다. 참고하세요. 글구 질문은 http://www.del...
    • 안치봉
      1999.05.21 02:41
      >> 답변 글쎄요. NT는 안써봐서......흠~~~ 바보같은 답변일지는 모르지만 혹~ 폴더의 속성이 읽기전...
    • 용그니
    • 1999.05.21 00:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.21 07:00
      이곳 한델(http://www.delphi.co.kr) 자료실에 시리얼포트제어 컴포넌트가 있습니다. 상용으로는 ASyncPro...
    • 김영대
    • 1999.05.20 21:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 서영택
      1999.05.21 00:53
      김영대 wrote: > 서영택 wrote: > > *.txt파일의 구조는 Header Record, Data Recodr, Trailer Record >...
    • 황순영
    • 1999.05.20 20:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.21 00:56
      황순영 wrote: > 안녕하세요 > 좀 궁금한 것이 있는데.... > > 거의 구조가 비슷한 두개의 Project 파...
    • 구성호
    • 1999.05.20 19:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.21 02:46
      구성호 wrote: > 여기에서 에러가 자꾸 생깅깁니다. 제발 도와 주세요. > Printer.Canvas.Font.Size := ...
    • 초보운전
      1999.05.20 19:00
      죄송... 한글은 잘되더군요. 특수문자를 처리하는 방법을 부탁드립니다 리턴키(chr(13)+chr(10))와 같은...
    • 조영욱
    • 1999.05.20 17:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.20 19:34
      dbiSaveChanges(Table1.Handle)을 하시면 Table1이 저장됩니다. 정의는 아래와 같이 되어있구요.. functi...
    • 김명희
    • 1999.05.20 08:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • powerman
      1999.05.21 10:04
      김명희 wrote: > 안여하세요. > 또 다시 같은 질문합니다. > 디테일 갯수 설정 어떻게합니까? > 예> A4...
    • 이재민
    • 1999.05.20 07:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.20 08:20
      1. 같은방법으로 사용합니다. 단, 변수형은 각 언어에 맞게 고쳐주셔야 합니다. 2. Win32 API Bible이 있...
    • 김영대
      1999.05.20 20:23
      김희영 wrote: > 안녕하세요! > 델피언을 꿈꾸는 학생입니다... > > 질문의 내용은 다름이 아니오라 ...
    • 김영대
      1999.05.20 20:20
      김희영 wrote: > 안녕하세요! > 델피언을 꿈꾸는 학생입니다... > > 질문의 내용은 다름이 아니오라 ...
    • 안치봉
      1999.05.20 09:49
      김희영 wrote: > 안녕하세요! > 델피언을 꿈꾸는 학생입니다... > > 질문의 내용은 다름이 아니오라 ...
    • 한상훈
    • 1999.05.20 05:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정주영
      1999.05.20 19:34
      한상훈 wrote: > 질문한가지 더 올리겠습니다. > report 작성시 각 field의 길이를 고정시키고 > 더 긴...
    • 안치봉
      1999.05.20 04:41
      초보운전 wrote: > > 실행파일을 만들어 설치할경우 그 디렉토리위치는 > 주인 마음대로 일경우가 많습...
    • 최석기
      1999.05.20 04:05
      초보운전 wrote: > > 실행파일을 만들어 설치할경우 그 디렉토리위치는 > 주인 마음대로 일경우가 많습...
    • 한고은
    • 1999.05.20 03:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소병각
      1999.06.09 20:32
      한고은 께서 말씀하시기를... > CREATE PROCEDURE test2 @tbname char(20) AS > create table dbo.hgkim...
    • 이영일
    • 1999.05.20 02:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.05.20 20:32
      이영일 wrote: > Sun server에 있는 ISAM형식의 화일을 PC로 불러오고 싶습니다. > PC의 OS는 NT이구 >...
    • 박천문
    • 1999.05.20 01:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.20 19:27
      안녕하세요? 초기화보다는...제가 DB는 잘 모르지만 그 필드의 MinValue와 MaxValue를 정의해 놓으면 될것...
    • 마성수
    • 1999.05.20 00:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 송기원
      1999.05.20 04:20
      Tquery.CommitUpdate의 용도를 잘못 이해하고 계신듯 한데... 아님 제가 잘못 알고 있거나...허허... C...
    • 남윤혁
    • 1999.05.20 00:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.05.20 00:53
      안녕하세요. 물론 가능합니다. 아주 일반적으로 쓰고 있는 방식이기도 하구요. 특정셀을 선택하는 순간...
    • 안치봉
      1999.05.20 00:08
      김선경 wrote: > 2개의 프로그램에서 교신을 하기 위해 사용자 정의 메세지를 이용할려구 해요 > > a라...
    • 김선경
      1999.05.20 04:10
      호호.... 치봉님의 글 자~~알 읽었어요.... 한가지만 더 여쭤 봐도 실례가 아닌지... exe 프로그램( MD...
    • 안치봉
      1999.05.20 04:51
      김선경 wrote: > 호호.... 치봉님의 글 자~~알 읽었어요.... > 한가지만 더 여쭤 봐도 실례가 아닌지... ...