Q&A

  • 페이지컨트롤에서...
Ctrl+N 키를 누르면 새로운 탭시트를 동적으로 생성하려고 하는데요
어떻게 구현해야 하나요?
하나의 탭시트 안에는 RichEdit, Splitter, DBGrid 세가지 컴포넌트가 있습니다.

골든처럼 구현하려고 하거든요

procedure TFDBTools.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Shift = [ssCtrl]) and (Key = Ord('N')) then
  begin
      //처리부분
  end;
end;

초보라서... 답변 부탁드립니다
4  COMMENTS
  • Profile
    최용일 2003.05.24 04:07
    안녕하세요. 최용일입니다.

    아래와 같이 생성하세요...

    var
        TabSheet: TTabSheet;
    begin
        TabSheet := TTabSheet.Create(Self);
        TabSheet.Caption := 'New Sheet';
        TabSheet.PageControl := PageControl1;
    end;

    ^^ 항상 즐코하세요...

  • Profile
    김경남 2003.05.24 19:04
    답변 감사합니다 큰 도움이 됬습니다.

    한가지 더 여쭤 볼께요

    새로 만든 TabSheet에 그리드와 리치에디터를 올리려면

    어떻게 해야죠? ^^;;

    즐거운 하루 되시구요~ ^^


  • Profile
    김경남 2003.05.24 19:14
    하하 ^^;;; 제가 질문하고 제가 답변을 올리네요

    속성을 찾아보니 Parent가 있군요
    Parent값에 생성한 TabSheet을 주면 되네요 그럼 즐코~ ^^;;;; 민망


  • Profile
    최용일 2003.05.24 19:14
    안녕하세요. 최용일입니다.

    검색해보시면 동적생성하는 예제는 널려있는데... 쩝~

    var
        TabSheet: TTabSheet;
        DBGrid: TDBGrid;
        RichEdit: TRichEdit;
    begin
        TabSheet := TTabSheet.Create(Self);
        TabSheet.Caption := 'New Sheet';
        TabSheet.PageControl := PageControl1;
        DBGrid := TDBGrid.Create(Self);
        DBGrid.Parent := TabSheet;
        DBGrid.SetBounds(0, 0, 100, 100);
        RichEdit := TRichEdit.Create(Self);
        RichEdit.Parent := TabSheet;
        RichEdit.SetBounds(100, 0, 200, 100);
    end;

    ^^ 항상 즐코하세요...