Q&A

  • ToolBar에 동적으로 Button을 생성하려면???
질문이 있습니다!.

MDI에서 ChildForm이 최소화 될때

ToolBar에 버튼이 동적으로 생성되게 하고 싶습니다

고수님들의 조언을 부탁드림니다...

2  COMMENTS
  • Profile
    우상호 2000.07.27 01:13
    김진호 wrote:

    > 질문이 있습니다!.

    > MDI에서 ChildForm이 최소화 될때

    > ToolBar에 버튼이 동적으로 생성되게 하고 싶습니다

    > 고수님들의 조언을 부탁드림니다...



    Source 보냅니다.



    procedure TFAISMENU_.FormCreate(Sender: TObject);

    var

    i, j : Integer;

    l_menu_items : Array [1..20] of TMenuItem;

    procedure ToolButton_Create(p_MenuItem : TMenuItem; p_ImageIndex : Integer);

    begin

    with TToolButton.Create(ToolBar1) do

    begin

    Parent := ToolBar1;

    Caption := TMenuItem(p_MenuItem).Caption;

    Style := tbsButton;

    MenuItem := TMenuItem(p_MenuItem);

    ImageIndex := 0;

    end;

    end;

    begin

    ToolBar1.List := True; // 좌측이미지, 우측 Caption이 표시되게 한다.

    // ToolBar1.BiDiMode := bdRightToLeft;

    //'N_DB';

    {

    for i := 0 to MainMenu1.Items.Count - 1 do

    begin

    for j := 0 to MainMenu1.Items[i].Count - 1 do

    begin

    if MainMenu1.Items[i].Name.

    end;

    end;

    }

    // ToolButton 생성

    // ToolButton_Create(N_LAYOUT_1, 0);

    // ToolButton_Create(N_LAYOUT_2, 1);

    // ToolButton_Create(N_LAYOUT_3, 2);

    // ToolButton_Create(N_LAYOUT_4, 3);

    { with TToolButton.Create(ToolBar1) do

    begin

    Parent := ToolBar1;

    Caption := N_DB.Caption;

    Style := tbsButton;

    MenuItem := N_DB;

    ImageIndex := 0;

    end;

    }

    // 버튼을 순서대로 정렬한다.

    for i := 0 to ToolBar1.ButtonCount-1 do

    begin

    ToolBar1.Buttons[i].Left := 0;

    end;

    end;



  • Profile
    배불뚝 2000.01.12 22:34
    김진호 wrote:

    > 질문이 있습니다!.

    > MDI에서 ChildForm이 최소화 될때

    > ToolBar에 버튼이 동적으로 생성되게 하고 싶습니다

    > 고수님들의 조언을 부탁드림니다...



    도움이 될지 모르겠습니다...



    form2을 close하면 Form1.cretefoolbtn을 호출하여

    form1위의 toolbar1에 toolbutton추가하는 방법입니다.



    procedure TForm1.createtoolbtn(fname : integer);

    var

    i : integer;

    begin

    //이미 button이 추가된 경우 빠져나가기

    for i := 0 to toolbar1.ComponentCount - 1 do

    begin

    if toolbar1.Components[i] is ttoolbutton then

    if ttoolbutton(toolbar1.components[i]).tag = fname then



    exit;

    end;



    with TToolButton.Create(ToolBar1) do

    begin

    Parent := ToolBar1;

    Caption := '...';

    tag := fname; //또 추가하지 않도록 tag를 달아줌

    onclick := toolbar1.OnClick;//click event를 할당함

    end;

    toolbar1.ShowCaptions := true;

    end;