//툭종 좌표 아래의 컴포넌트 명을 돌려주는 함수
function TForm1.ReturnComponentName(ThisPoint : TPoint) : String;
var
Ctrl : TControl;
begin
Result := '';
Ctrl := ControlAtPos(ThisPoint, True);
if (Ctrl <> nil) and (Ctrl is TImage) then
begin
Result := Ctrl.Name;
end;
end;
//특정 좌표 아래에 무슨 컴포넌트가 위에 존재하나?
procedure TForm1.Button1Click(Sender: TObject);
var
TargetPoint : TPoint;
begin
//예를 들어 Image1 과 Image2 가 겹쳐 있는 위치를 보내면
//위에 있는 컴포넌트 명을 돌려준다.
TargetPoint.x := Image1.Top + 10;
TargetPoint.y := Image1.Left + 10;
ShowMessage(ReturnComponentName(TargetPoint));
end;
안녕하세요~ 폼에 동적으로 생성한 TImage 가 여러 개 있는데, 이것들의 z-index 를 조절하고 싶습니다. SendToBack 이나 BringToFront 로는 맨 아래로 내리거나 맨 위로 올릴 수밖에 없는데.. 이 TControl 들의 현재 z-index 를 알아내거...
구창민
•
2003.01.07 19:07
안녕하세요~ 구창민입니다.
우선 두개중에 위에 있는 컴포넌트가 무슨 컴포넌트인지 알려면 아래처럼
...
우선 두개중에 위에 있는 컴포넌트가 무슨 컴포넌트인지 알려면 아래처럼
하면 알수 있겠네여.
아래는 핸들이 없는 컴포넌트를 임시적으로 알아내오므로,
범용적이지 못합니다. 하지만, 님이 원하시는 대로는 되겠네여.
범용적으로 만드시려면 WindowFromPoint, GetClassName 등을
사용하시면 모든 공통 컨트롤의 이름을 알아 낼수 있답니다.
아뭍든 참고하시고, 즐거운 프로그래밍 하시길~
//툭종 좌표 아래의 컴포넌트 명을 돌려주는 함수
function TForm1.ReturnComponentName(ThisPoint : TPoint) : String;
var
Ctrl : TControl;
begin
Result := '';
Ctrl := ControlAtPos(ThisPoint, True);
if (Ctrl <> nil) and (Ctrl is TImage) then
begin
Result := Ctrl.Name;
end;
end;
//특정 좌표 아래에 무슨 컴포넌트가 위에 존재하나?
procedure TForm1.Button1Click(Sender: TObject);
var
TargetPoint : TPoint;
begin
//예를 들어 Image1 과 Image2 가 겹쳐 있는 위치를 보내면
//위에 있는 컴포넌트 명을 돌려준다.
TargetPoint.x := Image1.Top + 10;
TargetPoint.y := Image1.Left + 10;
ShowMessage(ReturnComponentName(TargetPoint));
end;