본문 바로가기

전체 글340

메세지 리플렉트 (Message Reflect) Control에서 부모 윈도우로 전달되는 통지 메세지 (Notify Message)를 부모 윈도우에서 처리하지 않고 Control 자체에서 처리하도록 함. 클래스 위자드에서 보통 =WM_ 로 시작하는 메제시가 이것이며 메세제 맵에 ON_XXX_REFLECT() 로 등록 된다. [참고] http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=42&ref=38 2008. 2. 6.
Self Drawing Control (셀프 드로잉 컨트롤) MFC에서 제공하는 (MFC에서만 제공되는??) control 클래스들은 모두 DrawItem 이라는 메소드를 가지고 있는데 이 메소드를 재 정의 함으로써 control의 모양을 원하는 대로 그려줄 수 있다. % 직접 그릴려면 장난 아니겠다. -_-;; 2008. 2. 6.
메세지 관련 macros 메세지 맵에 등록되는 관련 메크로 ON_WM_xxx : 윈도 메세지 핸들러 등록(?) ON_MESSAGE : user define 메세지 핸들러 등록 ON_COMMAND ON_COMMAND_RANGE ON_UPDATE_COMMAND_UI ON_NOTIFY_REFLECT : Control에서 자신이 NOTIFY 하는 메세지를 스스로 처리하고자 할 때 On_CONTROL_REFLECT 2008. 2. 6.
[Win32 API] OwnerDraw (오너 드로우) Control자신이 WM_PAINT를 처리하는 것이 아니라 부모 윈도우가 Control의 화면을 그리도록 하는 하는 방식을 Owner Draw라고 한다. Owner Draw에 사용되는 메세지는 WM_MEASUREITEM 와 WM_DRAWITEM 순서로 부모 윈도우에 전달 된다. WM_MEASUREITEM 메세지는 wParam으로 Control의 ID가 lParam으로 MEASUREITEMSTRUCT 구조체가 전달 되며 이 메세지를 처리한 후에는 반드시 TRUE를 리턴 해주어야 한다. 실제로 Control을 그리는 메세지는 WM_DRAWITEM 인데 wParam으로 역시 Control의 ID lParam으로는 DRAITEMSTRUCT 구조체가 전달 된다. 부모 윈도우가 WM_MEASUREITEM 메세지를 .. 2008. 2. 6.