1.클라이언트 영역 메시지 - 뷰 클래스
메시지 : 메시지 핸들러 : 설명 생략
WM_LBUTTONDOWN : OnLButtonDown
WM_LBUTTONUP : OnLButtonUp
WM_LBUTTONDBLCLK : OnLButtonDblClk
WM_MBUTTONDOWN : OnMButtonDown
WM_MBUTTONUP : OnMButtonUp
WM_MBUTTONDBLCLK : OnMButtonDblClk
WM_RBUTTONDOWN : OnRButtonDown
WM_RBUTTONUP : OnRButtonUp
WM_RBUTTONDBLCLK : OnRButtonDblClk
WM_MOUSEMOVE : OnMouseMove
메시지 핸들러 : void On~~ (UINT nFlags, CPoint point);
1)UINT nFlags : 메시지 생성시의 키보드&마우스버튼의 상태(비트 매스크)
MK_CONTROL : Ctrl키가 눌렸을때
MK_SHIFT : Shift키가 눌렸을때
MK_LBUTTON : 마우스 왼쪽 버튼이 눌렸을 때
MK_MBUTTON : 마우스 가운데 버튼이 눌렸을 때
MK_RBUTTON : 마우스 오른쪽 버튼이 눌렸을 때
2)CPoint point : 메시지 생성시의 마우스 좌표.(클라이언트 기준)
함수 이름(::는 API) : 역할
SetCapture() : 마우스 캡쳐를 시작한다.(CWnd클래스)
::ReleaseCapture() : 마우스 캡처를 해제한다.
GetCapture() : 어느 윈도우가 현재 마우스 캡쳐를 하고 있는지 알아본다.(CWnd클래스)
2.비 클라이언트 영역 메시지 - 프레임윈도우 클래스
메시지 : 메시지 핸들러 : 설명 생략
WM_NCLBUTTONDOWN : OnNcLButtonDown
WM_NCLBUTTONUP : OnNcLButtonUp
WM_NCLBUTTONDBLCLK : OnNcLButtonDblClk
WM_NCMBUTTONDOWN : OnNcMButtonDown
WM_NCMBUTTONUP : OnNcMButtonUp
WM_NCMBUTTONDBLCLK : OnNcMButtonDblClk
WM_NCRBUTTONDOWN : OnNcRButtonDown
WM_NCRBUTTONUP : OnNcRButtonUp
WM_NCRBUTTONDBLCLK : OnNcRButtonDblClk
WM_NCMOUSEMOVE : OnNcMouseMove
메시지 핸들러 : void OnNc~~ (UINT nHitTest, Cpoint point);
1)UINT nFlags : 기능은 위와 동일.(비트 매스크)
HTCAPTION : 타이틀바
HTCLIENT : 클라이언트 영역
HTCLOSE : 종료 버튼
HTHSCROLL : 가로 스크롤 바
HTMENU : 메뉴
HTMAXBUTTON : 최대화버튼
HTMINBUTTON : 최소화버튼
HTSYSMENU : 시스템 메뉴
HTVSCROLL : 세로 스크롤바
2)CPoint point : 메시지 생성시의 마우스 좌표(모니터 기준)
3.키보드 포커스 메시지 - 프레임윈도우 & 뷰 클래스
메시지 : 메시지 핸들러 : 설명
WM_SETFOCUS : OnSetFocus : 윈도우가 포커스를 받았을 때
WM_KILLFOCUS : OnKillFocus : 윈도우가 포커스를 잃었을 때
메시지 핸들러 : void On~~Focus(CWnd* p~~Wnd);
1)CWnd* p~~Wnd : 디폴트 처리를 위한 윈도우 객체 정보
함수 이름(::는 API) : 역할
CreateCaret() : 비트맵을 이용하여 캐럿을 생성한다.
CreateGrayCaret() : 회색 사각형 모양의 캐럿을 생성한다.
CreateSloidCaret() : 검정색 사각형 모양의 캐럿을 생성한다.
ShowCaret() : 캐럿이 보이도록 한다.
HideCaret() : 캐럿을 숨긴다.
GetCaretPos() : 캐럿의 좌표(클라이언트 기준)를 얻는다.
SetCaretPos() : 캐럿의 좌표(클라이언트 기준)를 변경한다.
::DestoryCaret() : 캐럿을 파괴한다.
::GetCaretBlinkTime() : 캐럿이 깜박이는 간격을 얻는다.
::SetCaretBlinkTime() : 캐럿이 깜박이는 간격을 설정한다.
4.키 누름 메시지 - 뷰 클래스
메시지 : 메시지 핸들러 : 설명
WM_KEYDOWN : OnKeyDown : F10,Alt이외의 키를 누를때
WM_KEYUP : OnKeyUp : F10,Alt이외의 키를 땔 때
WM_SYSKEYDOWN : OnSysKeyDown : F10,Alt,(Alt+키 조합) 키를 누를때
WM_SYSKEYUP : OnSysKeyUp : F10,Alt,(Alt+키 조합) 키를 땔 때
WM_CHAR : OnChar : WM_KEYDOWN 메시지 발생후(아스키 코드값이 발생)
WM_SYSCHAR : OnSysChar : WM_SYSKEYDOWN 메시지 발생후(아스키 코드값이 발생)
메시지 핸들러 : void On~~ (UINT nChar,UINT nRepCnt, UINT nFlags);
1)UINT nChar : a.키에 할당된 가상 키코드값을 가진다.(winuser.h에 정의) - WM_KEY~~경우
b.키에 할당된 문자 메시지값을 가진다. - WM_~~CHAR경우
2)UINT nRepCnt : 키를 계속 누르고 있을경우 1보다 큰 값을 가진다.
3)UINT nFlags : 키에 관련된 다양한 정보를 담고있다.
'이것저것 > My_Work' 카테고리의 다른 글
[MFC] - 키보드 후킹 (0) | 2009.03.12 |
---|---|
[MFC] - 트레이 아이콘 등록 및 윈도우 감추기 (0) | 2009.03.12 |
[MFC] - 키보드 메시지 처리 (0) | 2009.03.03 |
[ 8 비트 CRC 함수 코드 ] (0) | 2009.02.18 |
[MFC] Serial 통신 관련 소스 (3) | 2009.02.10 |