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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[139] [팁] 폼의 타이틀바를 클릭않고 폼 드래그하기
박지훈.임프 [cbuilder] 9716 읽음    2001-07-30 16:28
이 팁은 담비님(천리안 FREKBS)님이 1999년 04월 08일에 천리안 프로그래머포럼에 올리신 것입니다.
담비님으로부터는 전제하여 올리는 데 대해 허락을 받았습니다.
좋은 정보를 공유하도록 허락해주신 담비님께 감사드립니다.
───────────────────────────────────────

안녕하세요! 담비입니다.

출처 : http://www.inprise.co.jp/tips/../qanda/cbuilder/c0005065.html                   

폼의 타이틀바를 클릭하지 않고 클라이언트 영역을 클릭해 폼을 드래그하는 간단한
방법은 폼의 타이틀바가 클릭 되었다고 윈도우가 생각하게 하는것이다.
이것은 WM_NCHITTEST 메세지를 처리해 실현할 수 있다.
플로팅 툴바와 같이 타이틀도 보더도 없는 윈도우의 경우는 폼의 타이틀을 빈 문자열
로 설정하고 모든 BorderIcons를 false에 설정하고, BorderStyle를 bsNone으로
설정한다.

//헤더측( Unit1.hpp )
//---------------------------------------------------------------------------
class TForm1 :public TForm
{
  __published:    //IDE 관리의 콤포넌트
       TButton *Button1;
       void __fastcall Button1Click(TObject *Sender);
  private:    //사용자 선언

  public:     //사용자 선언
       __fastcall TForm1(TComponent* Owner);
       //추가하는 핸들러
       void __fastcall WMNCHitTest( TWMNCHitTest &Mes );
       BEGIN_MESSAGE_MAP
           MESSAGE_HANDLER( WM_NCHITTEST, TWMNCHitTest, WMNCHitTest )
       END_MESSAGE_MAP( TForm )
  };

//소스측( Unit1.cpp )
//---------------------------------------------------------------------------
  __fastcall TForm1::TForm1(TComponent* Owner)    : TForm(Owner)
  {
  }
//---------------------------------------------------------------------------
  void __fastcall TForm1::WMNCHitTest( TWMNCHitTest &Mes )
  {
  Mes.Result = HTCAPTION;
  }
//---------------------------------------------------------------------------                    

+ -

관련 글 리스트
139 [팁] 폼의 타이틀바를 클릭않고 폼 드래그하기 박지훈.임프 9716 2001/07/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.