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
[4945] Re:winamp 처럼 폼을 자석처럼. 하려면,,
임승균.조로 [zoro] 3023 읽음    2001-01-17 16:26
안녕하세요

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 처럼 폼 두개를 자석처럼 붙이고 같이 붙어서
: 돌아다니는 그런 걸 만들고 싶은데..
: 잘 몰라서요..
:
: 좋은 하루, 행복한 하루가 되세요.
:

+ -

관련 글 리스트
4938 winamp 처럼 폼을 자석처럼. 하려면,, hunters 2762 2001/01/17
4945     Re:winamp 처럼 폼을 자석처럼. 하려면,, 임승균.조로 3023 2001/01/17
4948         Re:Re:winamp 처럼 폼을 자석처럼. 하려면,, hunters 2854 2001/01/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.