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
[21582] Re:[질문] 폼에 캡션바 그리고 이동하기?
최준호.스페로 [sparrow] 987 읽음    2002-09-23 09:54
안녕하세요 스페로입니다.

폼크레이트 이벤트에서는 안되네요..

여러가지 이벤트에 적용해보니

적합한지는 모르지만 OnPaint 이벤트에서 됩니다.

그리고 이렇게 생성한 캡션바는 마우스로 드래그가 안되니..

bsNone폼에 마우스 드래그 할수 있는 코드를 조금 수정해서

마우스 Y의 값을 GetSystemMetrics(SM_CYCAPTION)보다 작거나 같을때만 동작하게

수정했더니 잘됩니다.

void __fastcall TForm1::FormPaint(TObject *Sender)
{
HDC dc = GetDC(Form1->Handle);

DrawCaption(Form1->Handle, dc,
   &Bounds(0, 0, Width, GetSystemMetrics(SM_CYCAPTION)),
   DC_ACTIVE | DC_TEXT);

ReleaseDC(Form1->Handle, dc);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
  if (Y <= GetSystemMetrics(SM_CYCAPTION)){
      ReleaseCapture();
      SendMessage( Handle,WM_SYSCOMMAND,0xf012,0 );
  }

}
//---------------------------------------------------------------------------

소스를 보시면 알수 잇을 거에요..

그럼 즐프~~


진수.네모 님이 쓰신 글 :
: 폼 border style = bsnone 으로 하고 다음 코드를 form create 이벤트에 넣었거든요..
:
:
: HDC dc = GetDC(Form1->Handle);
:
:  DrawCaption(Form1->Handle, dc,
:    &Bounds(0, 0, Width, GetSystemMetrics(SM_CYCAPTION)),
:    DC_ACTIVE | DC_TEXT);
:
:  ReleaseDC(Form1->Handle, dc);
:
:
: 이렇게 하면 캡션바가 생긴다던데 저는 안나타 나네요? 잘못하는 건가요?
:
: 이렇게 생긴 캡션바를 마우스로 클릭후 이동하게 하는 방법에 대해 설명 부탁 드립니다.

+ -

관련 글 리스트
21581 [질문] 폼에 캡션바 그리고 이동하기? 진수.네모 668 2002/09/23
21582     Re:[질문] 폼에 캡션바 그리고 이동하기? 최준호.스페로 987 2002/09/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.