|
꼼지락 님이 쓰신 글 :
: 안냥하세여
: 꼼지락.수야 입니다. ^^
:
: 긍데여.. 이건 폼 안에서만 움직이네여 ㅡㅡ;
:
: 쉽게 말해서 폼에있는 판넬만 폼 안에서 움직입니다. ㅠㅠ
:
: 제가 말한건 폼에 있는 판넬을 잡고 폼을 이동 시키는 건데여 ㅠㅠ
:
: (하루종일 임프님이 오기만을 기다린 꼼지락.수야였습니다.)
:
임펠리테리입니다.
약간만 응용하시면 될텐데.. 조금쯤은 생각해보셔야지요.
팁3번에서 아래 라인을 봅시다.
Panel1->Perform(WM_SYSCOMMAND, 0xf012, 0);
여기서 Perform() 함수를 사용했는데, 이것은 결과적으로 다음과 의미가 같습니다.
SendMessage(Panel1->Handle, WM_SYSCOMMAND, 0xf012, 0);
원래 Perform() 함수가 SendMessage를 이용해서 메시지를 보내는 함수이니까요.
원하시는 결과를 위해서는 간단히, 메시지를 보낼 윈도우의 핸들만 바꾸면 됩니다. 메시지를 받는 윈도우가 드래그되는 거니까요. 폼의 핸들로 바꾸면 드래그할 때 폼 전체가 움직이게 되죠.
그러므로.. 다음과 같이 수정하시면 되겠죠.
SendMessage(Handle, WM_SYSCOMMAND, 0xf012, 0);
여기서, 이 루틴은 폼클래스의 멤버함수에서 사용될 것으므로 Handle이라고 그냥 쓰면 자체 폼의 핸들이 되겠지요?
그럼 참고하시길...
|