Q&A

  • sender의 사용법을 알고싶습니다.
안녕하십니까 ?
초보자가 문의드립니다..

아래 프로그램에서 sender 가 무엇을 뜻하는지 궁금합니다
또한 사용법도 알고 싶습니다
procedure TForm1.ComboBox1Enter(Sender: TObject);
begin

  if (Sender = ComboBox1) then
    begin
      .
      .
     end;



2  COMMENTS
  • Profile
    김규억 2002.01.17 21:32



    sender 옆에 TObject라는 클래스 선언이 있지요...

    이 말은 오브젝트를 인자로 사용하는 것입니다...

    다시 말해 정수나 문자열 등과 같이 콤보박스나 판넬 등과 같은 클래스 자체를 넘기는 것입니다...

    sender라는 것도 특별한 것은 아닙니다...

    단순히 클래스를 받아올 때 sender라는 변수를 사용한거 뿐입니다...

    다른 의미는 없습니다...

    그렇다면 sender라고 하지 않고 다른 것으로 사용할 수 있을까요..??? ^^

    물론 있지요... ^^

    대체로 각 컴포넌트의 이벤트를 생성하면 자동으로 sender라는게 선언되서 들어옵니다...

    콤보박스에 엔터 이벤트가 발생하면 sender에는 자동으로 해당 콤보박스가 전달됩니다...
  • Profile
    이중철 2002.01.17 21:47
    비슷한 동작을 하는 버튼을 에로 할께요.
    화면에 button 100개를 생성해서
    button의 tag에 순서대로 0~99까지 입력하고
    각 버튼클릭이벤트는 하나로 하고
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not (Sender is TButton) then
        exit;
      case Tbutton(Sender).tag of
        0 :;
        1 :;
      end;  
    end;
    이런식으로 처리가 가능하죠
    물로 ApplicationEvents인가 뭔가하는거 이용해도
    되지만 전 보통 이런식으로 해요.