|
답변 감사합니다..
이제야 좀 감이 옵니다...다시 한번 감사드립니다.
좋은하루 되세요...^^
aa 님이 쓰신 글 :
: BEGIN_MESSAGE_MAP
: MESSAGE_HANDLER(WM_NCLBUTTONDOWN, TMessage, WmNcButtonDown)
: END_MESSAGE_MAP(TForm)
: 보시는봐와같이 변경 WMNcButtonDown 함수는따로 만들어서 연결시켜주시면됩니다
: WMUser 와같은경우는
: 서브클래싱이 되어있다면
: void __fastcall WmUser(TMessage *Message)
: {
: if(FNcButtonDown) <<---
: FNcButtonDown(this,Message->wParamLo);
: }
: 머이런식으로 되어잇어요
: 함수명을 바꾸고 내부에있는 함수는 메세지가 감지되면 실행될
: 함수라고보시면됩니다 본레 콤포넌트만든 클래스에사용되는건데
: 폼에서 실행시엔 실행될함수를 만들어서 넣어버리시면되겠지요
:
: FNcButtonDown(this,Message->wParamLo);
: 이부분은 컴포넌트일경우구요
: 메인폼클래스에넣는다면 this 이것만빼면되요
:
: 빌더왕왕초보 님이 쓰신 글 :
: : 답변 감사합니다..
: : 그런데..Message-Map은 어떤식으로 작성을 해야 하나요?
: :
: : BEGIN_MESSAGE_MAP
: : MESSAGE_HANDLER(WM_USER, TMessage, WmUser)
: : END_MESSAGE_MAP(TForm)
: : 이런식으로 했는데...솔직히 무슨말 인지는 잘 모르겠습니다.
: : 왜 인자로 WM_USER이 있는지..아님 제가 하고자하는 윈도우 메세지(WM_LBUTTONDOWN )를
: : 인자로 가지고 가야 하는지...
: : 그리고 저기 있는 콜백함수가 (콜백함수가 맞는건지요...) 어떤식으로 호출되는지도
: : 궁금합니다...
: :
: : 이부분을 공부하고 싶은데...어느쪽을 공부해야 하는지 몰라..이것저것 보다 보니 머리만 더 혼란스럽습니다.
: : 강좌를 봐도 이부분은 너무 짧은듯한데...자세히 설명해주실수 있으신지요...
: :
: : 감사합니다..
: :
: :
: : 장성호 님이 쓰신 글 :
: : : Window의 Client영역에 Mouse_Down이벤트가 발생하면
: : :
: : : WM_LBUTTONDOWN 이나 WM_RBUTTONDOWN 메세지가 발생합니다.
: : :
: : : 하지만 Caption영역은
: : :
: : : 메세지에 NC라고 붙습니다.
: : : WM_NCLBUTTONDOWN , WM_NCRBUTTONDOWN 등과 같이
: : :
: : : Non-Client영역의 메세지는
: : : 기본적으로 On Mouse Down 같은 이벤트에서 받을수 있도록 되어있지 않습니다.
: : :
: : : sub-classing 이나 , message-map 을 작성하여
: : : 이벤트를 받도록 만드시면 됩니다.
: : :
: : :
: : : 그럼...
: : :
: : :
: : : 빌더왕왕초보 님이 쓰신 글 :
: : : : 고수님들에 조언을 듣고자 다시 글을올립니다.
: : : : 다름이 아니라..
: : : : Form에 이벤트중 "On Mouse Down" 이벤트가 폼의 캡션에서는 호출이 되질않아서
: : : : 이렇게 글을 씁니다...
: : : : 폼의 캡션을 클릭했거나....마우스가 다운을 했을시..이벤트를 어떻게 받아야하는거죠?
|