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
[6843] [Q] WM_NCLBUTTONDOWN handler 정의시 inherited부 실행은?
최성규 [] 2367 읽음    2001-04-16 10:41
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();
라고 해 봤는데(후후~~) 택도 없네요.

최성규

+ -

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