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
[6851] Re:[Q] WM_NCLBUTTONDOWN handler 정의시 inherited부 실행은?
한꼬맹이 [] 2723 읽음    2001-04-16 17:29
최성규 님이 쓰신 글 :
: WM_NCLBUTTONDOWN에 대한 handler를 정의하면,
: -> Titlebar에 있는 system menu, caption부, min/max buttons, close button,
:    form resize area에 대한 mouse down(not click)을 감지한다.
:    정확하게 얘기하면 window의 nonclient 부분에서의 mouse down을 감지한다.
:
:    단, Handler에서 원래 처리해 주어야 할 부분을 call해야 menu나 button이
:    작동한다. 그냥 사용자 코드만 넣어 두면, system munu도 나오지 않고,
:    min/max도 되지 않고, move도 되지 않고, close도 되지 않는다.
:
: TForm1 ...
: ...
: ...
:         int __fastcall HandlerWM_NCLBUTTONDOWN(TMessage &Msg);
: BEGIN_MESSAGE_MAP
:    MESSAGE_HANDLER(WM_NCLBUTTONDOWN, TMessage, HandlerWM_NCLBUTTONDOWN)
: END_MESSAGE_MAP(TForm)
: end;
:
: int __fastcall TForm1::HandlerWM_NCLBUTTONDOWN(TMessage &Msg)
: {
:    if(Msg.WParam == HTCAPTION)
:       // ...어쩌고, 저쩌고
:
:    // How can I with "inherited"???
:    return 0;
: }
:
: 질문은 이겁니다. 위와 같이 해 두면, 마우스 버튼 다운의 원래 목적이
: 막혀 버립니다. 예를 들면 title bar의 minimize button이 작동하지 않고
: system menu도 뜨지 않는다는 말입니다.
: 이 handler 내에서 무엇을 어떻게 해 주어야, 원래 시스템에 정의된 기능이
: 실행이 될까요?
: 델파이의 inherited 뭐 그런 것이 빌더에서 어떻게 대응되는 것입니까?
: 빌더에서
:    this->Inherited();
: 라고 해 봤는데(후후~~) 택도 없네요.
:
: 최성규
:

안녕하십니까?

한꼬맹이 입니다.

메세지 맵에서 델파이의 inherited; 와 같이 적용시키려면

Dispatch(&Msg);

이거 한줄만 추가 시키면 됩니다...

그럼 참고하시길....


+ -

관련 글 리스트
6843 [Q] WM_NCLBUTTONDOWN handler 정의시 inherited부 실행은? 최성규 2368 2001/04/16
6851     Re:[Q] WM_NCLBUTTONDOWN handler 정의시 inherited부 실행은? 한꼬맹이 2723 2001/04/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.