|
안녕하세요
WM_EXITSIZEMOVE 메시지를 사용하시면 되겠네요...
이메시지는 window가 이동 또는 크기 변경이 끝난후 발생하는 메시지입니다..
예제를 보여드리면...
일단 폼을 두개 준비하셔요..
글구 움직이는 폼의 header에 메시지맵을 선언합니다..
저는 form1의 헤더에 이렇게 했습니다.
실제로 form2에는 아무런 코딩없습니다.
protected:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_EXITSIZEMOVE, TMessage, WMEXITSIZEMOVE)
END_MESSAGE_MAP(TForm)
이렇게 하구나서.. cpp에 WMEXITSIZEMOVE함수를 추가 합니다..
void __fastcall TForm1::WMEXITSIZEMOVE(TMessage & msg)
{
int left, bottom;
left = Form2->Left;
bottom = Form2->Top + Form2->Height;
if (Left >= left - 100 && Left <= left + 100) Left = left;
if (Top >= bottom - 100 && Top <= bottom + 100) Top = bottom;
}
이렇게 하면 Form1이 Form2 밑에서 움직이면 떡하니 붙어 버립니다..
함 해보셔요~~
그럼 즐거운 하루 되십시요...
hunters 님이 쓰신 글 :
: Winamp 처럼 폼 두개를 자석처럼 붙이고 같이 붙어서
: 돌아다니는 그런 걸 만들고 싶은데..
: 잘 몰라서요..
:
: 좋은 하루, 행복한 하루가 되세요.
:
|