패널을 동적으로 생성하였습니다.
dPanel : array [0..11] of TPanel;
이렇게 배열로 선언해서 12개의 패널을 생성했는데
이렇게 생성된 패널을 클릭시 어떤 패널이 클릭되었는지 알수 있는 방법이 없나요?
지금은 생성된 패널의 caption에 이름 [('패널' + inttostr(i + 1)) <-이런식으로] 을 주어 마지막 i값을 구해 동적 생성되 패널의 배열값을 알아옵니다.
하지만 caption에 이름을 주면 보이기 때문에 name을 주려고 했는데 에러가나네요
어떤 배열에 있는 패널을 클릭했는지 알수있는 방법이 없나요?
고수님들 부탁합니다.
아니면 tag 같은데다가 넣어줘도 되구요...
아마 에러나는건 이름에 한글이 들어가서 그런건 아닌가요?? ㅠㅠ
한글때문이 아니라면.. 소스와 어떤에러인지 보여주세요 그럼
알수 있을껍니다.
동적으로 생성하는것은 마무런 문제가 없구요.
해당 패널 각각에 모두 이벤트를 연결해 주세요..
음. 예를들어서..
// 이런식으로 주었겟죠?
dPanel[0].OnClick := MyClick;
그럼
procedure MyClick( Sender : TObject );
begin
if Sender is TPanel then // 이넘이 패널인지 확인하구요
begin
(Sender as TPanel).Tag <-- 이넘을 확인하시던지
(Sender as TPanel).Name <-- 이넘을 확인하시던지 하시면 되겟네요.
end;
end;
그럼..