C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[6118] Re:[질문] 폼이 움직일때 메세지에 대해서
공님 [] 3314 읽음    2001-03-15 10:27
전석원 님이 쓰신 글 :
: 왕초보입니다..^^
:
: 저번에도 질문을 한번 했었는데..
:
: 폼이 움직일때 WM_WINDOWPOSCHANGING 메세지가 발생하고 움직인 다음에는
:
: WM_WINDOWPOSCHANGED, WM_MOVE 메세지가 발생한다고 한꼬맹이 님이 말씀해주셨었는데여.
:
: 어떻게 사용을 해야되는지 잘 모르겠군요..-_-;;
:
: 폼1과 폼2가 있을때 윈엠프에서같이 자석효과를 내보려고 하는데여..
:
: 폼1은 최소,최대,종료 버튼도 다 작동하면서....
:
: 서로 폼이 붙었을때 폼1을 움직이면 폼2도 같이 따라서 움직여야하는데..
:
: 어떻게 해야할지 모르겠습니다..
:
:
: 델파이로 구현한 소스들을 보면 WM_MOVE 과 WM_MOVING를 이용하거나..
:
: WM_NCLBUTTONDOWN과 WM_MOVING등을 이용해서 구현을 하더군요.
:
: 근데 빌더에서는 어떻게 구현을 해야되나여??
:
: 제가 초보라서 자세히좀 알려주시면 정말 감사하겠습니다..^^
:
: 일주일을 자료를 찾아보구 해도 안되는군요..ㅠ,ㅠ;;
:
: 그럼 좋은 하루되세요..

안녕하세요.
님께서 하려고 하시는걸 한달전에 누군가가 부탁해서 만들었는데,
지금 제게 소스가 없네요. 이궁 더 자세하게 가르쳐 드리고 싶지만,
간단히 알려드리겠습니다.
우선 헤더에 아래와 같이 선언합니다.
메세지 멥으로 설정을 하는데, 폼이 이동할 때 윈도우에서는 WM_MOVING 이벤트를 발생시킵니다.
그럼 WMMOVING 파라미터를 넘겨서 메인에 있는
void __fastcall WMMOVING(TMessage & msg) 함수를 실행하게 되죠

public:        // User declarations
BEGIN_MESSAGE_MAP
   MESSAGE_HANDLER(WM_MOVING, TMessage, WMMOVING)
END_MESSAGE_MAP(TForm)

void __fastcall WMMOVING(TMessage & msg);


본체는 아래와 같이 하면 Form1이 이동할 때마다 Form2는 계속 Form1의 하단에 붙어서 졸졸 따라다닐겁니다.
void __fastcall TForm1::WMMOVING(TMessage & msg)
{
    Form2->Top = Form1->Top+Form1->Height;
    Form2->Left = Form1->Left;
}

기본적인것은 가르쳐 드렸으니 윈엠프처럼 땠다 붙였다하는건, 스스로 해보심이...
별로 어렵지는 않거든요.
그럼 전 20000.
                                                             --- Change world ---

+ -

관련 글 리스트
6092 [질문] 폼이 움직일때 메세지에 대해서 전석원 2583 2001/03/14
6129     Re:[질문] 폼이 움직일때 메세지에 대해서 전석원 2590 2001/03/15
6122     Re:[질문] 폼이 움직일때 메세지에 대해서 제라툴 2592 2001/03/15
6118     Re:[질문] 폼이 움직일때 메세지에 대해서 공님 3314 2001/03/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.