Q&A

  • 페이지 컨트롤에 탭쉬트를 붙일려면?
win32밑에 있는 TPagecontrol에 동적으로 Tabsheet를 붙이려고 해봤는데 잘 안되는군요. 방법을 알고 싶습니다. 그리고 win3.1밑에 있는 TTabbedNoteBook의 탭의 캡션을 코드상에서 변경하는 법을 알고 싶습니다.

3  COMMENTS
  • Profile
    박진아 1999.05.01 02:39
    Form1 에서 Form2를 호출할때 이런 에러 메세지가 떠서요.

    EDBEngineError 가 발생했다고 하구요,

    Message는 'Invalid use of keyword

    Token : by Line Number :1'

    Form2 에는 DBGrid 가 있고, Query를 이용해서 sort 시키려고 하거든요.

    꼭 알려주세요....

  • Profile
    박성훈 1999.07.14 05:48
    박성훈 께서 말씀하시기를...

    > win32밑에 있는 TPagecontrol에 동적으로 Tabsheet를 붙이려고 해봤는데 잘 안되는군요. 방법을 알고 싶습니다. 그리고 win3.1밑에 있는 TTabbedNoteBook의 탭의 캡션을 코드상에서 변경하는 법을 알고 싶습니다.





    HOW TO DYNAMICALLY CREATE A PAGE CONTROL

    ----------------------------------------

    Before we get into dynamically creating tab sheets, lets first

    discuss how to dynamically create a PageControl (if one isn't

    on the form already). This is done by calling TPageControl's

    Create constructor with an owner parameter of Self. The Create

    constructor returns a object reference of the newly created Page

    Control object and assigns it to the 'PageControl' variable.

    The second step is to set PageControl's Parent property to Self.

    The Parent property determines where the new PageControl is to be

    displayed; in this case its the form itself. Here's a code snippet

    that demonstrates this.



    var

    PageControl : TPageControl;

    PageControl := TPageControl.Create(Self);

    PageControl.Parent := Self;



    Note: When the form gets destroyed the Page Control and it tab

    sheets will be destroyed also because they are owned by the form.





    HOW TO DYNAMICALLY CREATE A TAB SHEET

    --------------------------------------

    There are two basic steps to dynamically add a new page to a

    PageControl. The first is to dynamically create the TTabSheet as follows:



    var

    TabSheet : TTabSheet;TabSheet := TTabSheet.Create(Self);





    Then we need to give it a caption as follows:



    TabSheet.Caption := 'Tabsheet 1';





    And finally, the most important piece is to tell the new tab sheet

    which Page Control it belongs to. This is done by assigning the

    TTabSheet's PageControl property a TPageControl reference variable

    like the one created above (PageControl). Here's a code snippet

    that demonstrates this.



    TabSheet.PageControl := PageControl;





    HOW TO DYNAMICALLY ADD A CONTROL TO A TAB SHEET

    -----------------------------------------------

    The key to creating and placing any control on a tab sheet is to

    assign it's Parent property a TTabSheet class reference variable.

    Here is an example.



    var Button : TButton;Button := TButton.Create(Self);

    Button.Caption := 'Button 1';

    Button.Parent := TabSheet;





    For more information on the TPageControl and TTabSheet objects

    refer to the on-line documentation as well as look at the

    ComCtrls.pas file in your ..Delphi..SOURCEVCL directory.



    FULL SOURCE EXAMPLE

    -------------------

    // This code is extracted from a form with a single button on it.





    unit DynamicTabSheetsUnit;



    interface

    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls,

    Forms, Dialogs, StdCtrls, Buttons;



    type TForm1 = class(TForm)

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

    procedure TestMethod(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var Form1: TForm1;



    implementation

    uses ComCtrls;

    {$R *.DFM}

    procedure TForm1.Button1Click(Sender: TObject);

    var

    PageControl : TPageControl;

    TabSheet : TTabSheet;

    begin

    // Create the PageControl

    PageControl := TPageControl.Create(Self);

    PageControl.Parent := Self;

    // Create 1st page and associate it with the PageControl

    TabSheet := TTabSheet.Create(Self);

    TabSheet.Caption := 'Tabsheet 1';

    TabSheet.PageControl := PageControl; // Create the first page

    with TButton.Create(Self) do begin

    Caption := 'Button 1';

    OnClick := TestMethod; // Assign an event handle

    Parent := TabSheet;

    end; // Create 2nd page and associate it with the PageControl

    TabSheet := TTabSheet.Create(Self);

    TabSheet.Caption := ' Tabsheet 2';

    TabSheet.PageControl := PageControl;

    end;



    procedure TForm1.TestMethod(Sender: TObject);

    begin

    ShowMessage('Hello');

    end;

    end.



  • Profile
    구창민 1999.05.01 03:55
    박진아 wrote:

    > Form1 에서 Form2를 호출할때 이런 에러 메세지가 떠서요.

    > EDBEngineError 가 발생했다고 하구요,

    > Message는 'Invalid use of keyword

    > Token : by Line Number :1'

    > Form2 에는 DBGrid 가 있고, Query를 이용해서 sort 시키려고 하거든요.

    > 꼭 알려주세요....



    박진아님 안녕하세요?

    사용하신 쿼리문장에서 난 에러입니다.

    SQL문을 자세히 살펴보세요.

    안돼시면, 어떤 질의를 하셨는지 올려주시거나

    그 부분의 소스를 질문에 올려주시기 바랍니다.

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

    • 왕초
    • 1999.07.14 06:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 행인2
      1999.07.28 01:54
      왕초 께서 말씀하시기를... > 모달폼에서 ok,cancel 버튼을 놓고 실행을 시키면... > ok이든 cancel이든 ...
    • 박진아
    • 1999.05.01 08:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.05.01 17:51
      박진아 wrote: > 어느 곳이 잘못되었는지 모르겠네요. > 소스 올려요. > procedure TForm2.FormActivate...
    • 조복기
      1999.07.14 05:53
      안녕하세요..조복기입니다. > sql.Add('select maddress'); > sql.Add('from sqltest1'); ...
    • 이창윤
    • 1999.07.14 02:56
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박은희
      1999.05.01 05:15
      인덱스가 없는 테이블을 정렬할 수 있는 방법이 없나요..... 저는 파라독스db 를 사용하고 있읍니다.......
    • 신호성
      1999.05.01 17:41
      박은희 wrote: > 인덱스가 없는 테이블을 정렬할 수 있는 방법이 없나요..... > > 저는 파라독스db 를 ...
    • 박형준
    • 1999.07.14 02:41
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 태진환
      1999.05.01 04:08
      안녕하세요.. 델파이를 접한지 일주일되는 초보입니다. 제가 지금 해보구 싶은것은 퀵레포트에서 디비...
    • 김종호
      1999.07.15 07:45
      박형준 께서 말씀하시기를... > 안녕하세요 > > 저도 질문하려다가 수연님의 글을 보고 이렇게 답변을 ...
    • 신호성
      1999.05.01 17:39
      태진환 wrote: > 안녕하세요.. > 델파이를 접한지 일주일되는 초보입니다. > > 제가 지금 해보구 싶은...
    • 신호성
      1999.05.01 17:34
      김성희 wrote: > DB는 DBase fo Window를 사용하고요... > 디비의 mname이라는 필드에 내용을 ListBox에 ...
    • 김성희
      1999.05.02 08:54
      > 안녕하세요? > 신호성 입니다. > > Table의 특정 Column을 ListBox에 넣고싶은 거죠? > Column값의 ...
    • 신호성
      1999.05.03 09:31
      > 답변 잘 보았습니다. > 쿼리사용하지않고... 테이블로만할수 없나요? > 제컴이 이상한건지(컴 사양이 ...
    • 김성희
      1999.05.03 22:17
      제 질문에 답변 해주신점 감사드립니다. 그럼, 행복하세요...
    • 성상준
    • 1999.07.14 01:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.07.14 18:39
      성상준 께서 말씀하시기를... > 안녕하세요? > > 다름이 아니라 윈속프로그램에서요 (Delphi 3.0) > ...
    • 이광환
    • 1999.07.14 01:32
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 김성희
      1999.05.01 08:52
      DB는 DBase fo Window를 사용하고요... 디비의 mname이라는 필드에 내용을 ListBox에 넣는데요... 리스트...
    • 신호성
      1999.05.01 17:34
      김성희 wrote: > DB는 DBase fo Window를 사용하고요... > 디비의 mname이라는 필드에 내용을 ListBox에 ...
    • 김성희
      1999.05.02 08:54
      > 안녕하세요? > 신호성 입니다. > > Table의 특정 Column을 ListBox에 넣고싶은 거죠? > Column값의 ...
    • 신호성
      1999.05.03 09:31
      > 답변 잘 보았습니다. > 쿼리사용하지않고... 테이블로만할수 없나요? > 제컴이 이상한건지(컴 사양이 ...
    • 김성희
      1999.05.03 22:17
      제 질문에 답변 해주신점 감사드립니다. 그럼, 행복하세요...
    • LEE
    • 1999.07.14 00:59
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박진아
      1999.05.01 08:36
      어느 곳이 잘못되었는지 모르겠네요. 소스 올려요. procedure TForm2.FormActivate(Sender: TObject); v...
    • 노력하는이
      1999.07.14 01:54
      LEE 께서 말씀하시기를... > 안녕 하세요 ! 김영대님 > 저번에 도움 주셔서 감사합니다. > 미안한데 이...
    • 신인재
      1999.05.01 17:51
      박진아 wrote: > 어느 곳이 잘못되었는지 모르겠네요. > 소스 올려요. > procedure TForm2.FormActivate...
    • 박은희
    • 1999.05.01 05:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신호성
      1999.05.01 17:41
      박은희 wrote: > 인덱스가 없는 테이블을 정렬할 수 있는 방법이 없나요..... > > 저는 파라독스db 를 ...
    • 김선호
    • 1999.07.13 22:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 송기원
      1999.07.15 00:28
      오류메세지의 내용으로 봐서는 Transaction이 이미 수행중에 Sub transaction을 걸려고 하는데서 발생하는...
    • 김선호
    • 1999.07.13 22:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 태진환
      1999.05.01 04:08
      안녕하세요.. 델파이를 접한지 일주일되는 초보입니다. 제가 지금 해보구 싶은것은 퀵레포트에서 디비...
    • 신호성
      1999.05.01 17:39
      태진환 wrote: > 안녕하세요.. > 델파이를 접한지 일주일되는 초보입니다. > > 제가 지금 해보구 싶은...
    • 박성훈
    • 1999.07.13 21:04
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박진아
      1999.05.01 02:39
      Form1 에서 Form2를 호출할때 이런 에러 메세지가 떠서요. EDBEngineError 가 발생했다고 하구요, Messag...
    • 박성훈
      1999.07.14 05:48
      박성훈 께서 말씀하시기를... > win32밑에 있는 TPagecontrol에 동적으로 Tabsheet를 붙이려고 해봤는데 ...
    • 구창민
      1999.05.01 03:55
      박진아 wrote: > Form1 에서 Form2를 호출할때 이런 에러 메세지가 떠서요. > EDBEngineError 가 발생했...
    • 박진아
    • 1999.05.01 02:39
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      1999.07.13 21:00
      동적으로 TPageControl을 생성하고 TTabSheet들을 동적생성하여 붙였습니다. 그리고 각 TTabSheet위에 여러...
    • 구창민
      1999.05.01 03:55
      박진아 wrote: > Form1 에서 Form2를 호출할때 이런 에러 메세지가 떠서요. > EDBEngineError 가 발생했...