Q&A

  • TImage 나 TLabel 같은것이 동적 생성 되었을때.. 각각의 프로퍼티를 사용하고 싶을때는요?
Timage와 Tlabel을 동적으로 만들고...

AMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer)
라고 이벤트를 만들어 놓고...

구현을
(Sender As Timage).tag
라는 구문을
(Sender As TLabel).tag

if sender is TImage then
begin
   Showmessage(IntToStr((Sender As Timage).tag));
end else if Sender is TLabel then
begin
   Showmessage(IntToStr(Sender As TLabel).tag);
end;

식으로 구분해서 사용하고 있습니다.
(IF절 안의 로직은 Timage나 Tlabel일때나 똑같습니다.)

저렇게 구현하다보니.. 쓸데 없이 코딩만 두배가 되는데요.

IF절을 없애고
어떤표현.tag 식으로 둘다 통용이 되게 만들고 싶습니다.

어떤 방법이 있을까요?

답변 좀 부탁 드립니다.


1  COMMENTS
  • Profile
    최용일 2004.04.22 00:20
    안녕하세요. 최용일입니다.

    Tag속성은 TComponent에서 파생된 클래스들이 공통적으로 가지고 있는 속성입니다. 때문에 TComponent로 형변환해서 사용하시면 됩니다.

    Showmessage(IntToStr(TComponent(Sender).Tag));

    ^^ 항상 즐코하세요...