프로그래밍 노트

[델파이] 컴포넌트에 속해 있는 컴포넌트 수 구하기 본문

델파이

[델파이] 컴포넌트에 속해 있는 컴포넌트 수 구하기

떡잎 2009. 12. 23. 22:04

컴포넌트에 속해 있는 컴포넌트 수 구하는 방법

procedure TForm1.Panel1Click(Sender: TObject);
var
  i : integer;
  pnlSender : TPanel absolute Sender;
begin

  // 클릭한 패널의 부모가 가지고 있는 자식들의 수
  for i := 0  to pnlSender.Parent.ControlCount - 1 do
  begin
    // 컨트롤이 TPanel인가?
    if (pnlSender.Parent.controls[i] is TPanel) then
      TLabel(pnlSender.Parent.Controls[i]).Color := clBtnFace;
  end;

  pnlSender.Color := clBlue;
end;



이렇게 하면 어떤 컴포넌트 안에 속한 컨트롤의 속성을 일괄적으로 바꿀 수 있다.
델파이같은 경우 폼에 컨트롤을 붙여서 작업할 때 배열로 사용할 수 없지만
여러 컨트롤의 이벤트를 하나로 묶을 수는 있다.

Comments