Q&A

  • Panel클릭시 폼에서 알수있을까요?
Form에 Panel이 3개가 배치되어있고

각각 Panel에서 ON_CLICK 이벤트발생시 각각의 내용을 처리하려다보니.. 번거로와서...

Panel의 이벤트를 사용하지않고.. Form에서 처리하고자한다면...

만약 Form에서 (Panel들도 어차피 Form에 속해있는것이니깐요) 어느녀석을 클릭했는지 알아낼수있는방법은 없을까요?

조언을좀 부탁드립니다...

3  COMMENTS
  • Profile
    박종환 2001.06.07 07:05
    Event를 공통으로 사용한 후 다음과 같은 방법으로도 내부에서 구분하여 사용할 수 있습니다. Tag 를 사용하지 않구요.



    1) 방법 1

    if TPanel(Sender).Name = 'Panel1' then begin

    ...

    end;

    if TPanel(Sender).Name = 'Panel2' then begin

    ...

    end;

    if TPanel(Sender).Name = 'Panel2' then begin

    ...

    end;



    2) 방법 2



    idx := StrToInt(Copy(TPanel(Sender).Name, 6, 1));

    case idx of

    1 : ...

    2 : ...

    3 : ...

    end;

  • Profile
    Dorothy 2001.06.06 05:34
    무슨 말씀이신지 잘 모르겠지만..



    세게의 panel에 비슷한 코딩을 집어넣어야 한다는 소린가여?



    각 panel에 tag값을 준담에 한 이벤트를 타게 하져..



    그런담 panel구분은 (sender as Tpanel).tag값을 가지고...





    김대규 wrote:

    > Form에 Panel이 3개가 배치되어있고

    > 각각 Panel에서 ON_CLICK 이벤트발생시 각각의 내용을 처리하려다보니.. 번거로와서...

    > Panel의 이벤트를 사용하지않고.. Form에서 처리하고자한다면...

    > 만약 Form에서 (Panel들도 어차피 Form에 속해있는것이니깐요) 어느녀석을 클릭했는지 알아낼수있는방법은 없을까요?

    > 조언을좀 부탁드립니다...

  • Profile
    김대규 2001.06.06 06:19
    답변 감사합니다

    이벤트를 하나로보내면 되는군요...

    그리구 테그를사용하는건 첨보는데.. 좋은 참고되었습니다..

    편안한 휴일되십시요