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 식으로 둘다 통용이 되게 만들고 싶습니다.
어떤 방법이 있을까요?
답변 좀 부탁 드립니다.
Tag속성은 TComponent에서 파생된 클래스들이 공통적으로 가지고 있는 속성입니다. 때문에 TComponent로 형변환해서 사용하시면 됩니다.
Showmessage(IntToStr(TComponent(Sender).Tag));
^^ 항상 즐코하세요...