|
마우스의 위치는 GetCursorPos API로 구해내실 수 있습니다.
이 함수로 구해내신 값은 절대좌표 값이며, 상대좌표 값은 그 Window 크기를 빼줌으로써
구할 수 있습니다. (OnMouseMove 등을 이용하신다면 파라메터의 X, Y를 바로 쓰셔도 무관합니다)
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
POINT ptPosition;
TRect rtRect;
GetCursorPos(&ptPosition);
GetWindowRect(Handle, &rtRect);
Caption = "절대 좌표 : " + IntToStr(ptPosition.x) + " , " + IntToStr(ptPosition.y) +
", 상대 좌표 : " + IntToStr(ptPosition.x - rtRect.Left) + " , " + IntToStr(ptPosition.y - rtRect.Top);
}
또한, Child Form에서 Main Form의 Component를 호출하는 방법이라는 의미의 뜻이 약간 애매한데,
이벤트를 호출하시는 것이라면, 헤더 파일을 선언하고, 그 이벤트 함수의 이름을 일반 함수처럼
호출하시면 됩니다.
cuperido
땡깡 님이 쓰신 글 :
:
: mdi main에서 child form을 생성하고 난 후,
:
: child form에서 mouse를 움직이는 위치를 main form에서 나타내고자 합니다.
:
: child form에서 main form의 component를 호출하는 방법은 없나요?
:
:
|