Q&A

  • 배열로 만든 버튼에서 팝업메뉴 제어하려면?
배열로 버튼을 만들고 팝업 메뉴를 연결했거든요

예)

var

B : Array[1..10] of TButton;



다른이벤트에서

B[I]:= TButton.Create(Self);

.....

B[I].PopupMenu:= PopupMenu1;



이렇게 하면 버튼 10개에 모두 같은 팝업메뉴가 연결되잖아요.

그리고 팝업메뉴에 목록을 만들고 이벤트를 실행시킬때 어떤 버튼에서 온 이벤트인지

알려면 어떻게 해야 하나요?

예를 들어 3번째 버튼에서 팝업메뉴중 목록을 클릭했을때, 그 버튼의 Caption이 바뀌게

하고 싶다면...



이벤트에서 (Sender as TButton) 라고 했더니 에러가 나더군요



1  COMMENTS
  • Profile
    안치봉 1999.09.30 05:08


    B[0]:= TButton.Create(Self);

    B[0].Tag := 1

    ...

    ...



    B[0]:= TButton.Create(Self);

    B[0].Tag := 2

    ...

    ...



    ...

    ...



    var

    c: TButton;

    begin

    c := TButton(Sender);



    if c.Tag = 0 then ...

    if c.Tag = 1 then ...

    if c.Tag = 2 then c.Caption := '3';





    ...

    김윤경 wrote:

    > 배열로 버튼을 만들고 팝업 메뉴를 연결했거든요

    > 예)

    > var

    > B : Array[1..10] of TButton;

    >

    > 다른이벤트에서

    > B[I]:= TButton.Create(Self);

    > .....

    > B[I].PopupMenu:= PopupMenu1;

    >

    > 이렇게 하면 버튼 10개에 모두 같은 팝업메뉴가 연결되잖아요.

    > 그리고 팝업메뉴에 목록을 만들고 이벤트를 실행시킬때 어떤 버튼에서 온 이벤트인지

    > 알려면 어떻게 해야 하나요?

    > 예를 들어 3번째 버튼에서 팝업메뉴중 목록을 클릭했을때, 그 버튼의 Caption이 바뀌게

    > 하고 싶다면...

    >

    > 이벤트에서 (Sender as TButton) 라고 했더니 에러가 나더군요

    >