본문 바로가기

Windows/WTL

커맨드 핸들러 매크로 커맨드 핸들러 매크로 이 매크로는 WM_COMMAND 를 대상으로 하며 4개가 존재한다. COMMAND_HANDLER(ID, 통지코드, 핸들러명) COMMAND_ID_HANDLER(ID, 핸들러명) COMMAND_CODE_HANDLER(통지코드, 핸들러명) COMMAND_RANGE_HANDLER(시작위치의 메시지명, 종료위치의 메시지명, 핸들러명) [code] LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); [/code] 더보기
메시지 핸들러 매크로 (MESSAGE HANDLER MACRO) 메시지 핸들러 매크로는 모든 메시지를 대상으로 한다. - MESSAGE_HANDER(메시지 명, 핸들러명) - MESSAGE_RANGE_HANDLER(시작위치의 메시지 명, 종료위치 메시지명, 핸들러명) [code] LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); [/code] 메시지 핸드러 함수의 프로토 타입에 이하를 보면 1. uMsg : 메시지를 식별한다. 2. wParam, lParam : 전달 함수에 따라서 변경 3. bHandled : 메시지의 처리를 끝냈는지 확인 기본값은 TRUE 이며 FALSE로 하기 전까진 그 이상의 핸들러 검색을 하지 않는다. 더보기
메시지 맵 MESSAGE MAP ATL/WTL 메시지 맵에서는 메시지와 그에 대한 핸들러 함수를 메시지 맵에 연결한다. 메시지 맵은 순서대로 검색이 되므로 자주 사용되는 것을 앞에 두면 좋다. [code] class CMyWindow : public CWindowImpl { // 메세지 맵 BEGIN_MSG_MAP(CMyWindow) MESSAGE_HANDLER(WM_PAINT, OnPaint) MESSAGE_HANDLER(WM_DESTROY, OnDestroy) END_MSG_MAP() LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled){ // WM_PAINT메세지에의 응답 처리 } LRESULT OnDestroy(UINT uMsg, WPARAM wPara.. 더보기
reference http://jacking75.cafe24.com/WTL/Index.htm 더보기
double buffering 머... API 장점과 MFC에 장점을 적당하니 비벼 만든 듯한 느낌에 WTL +_+ 버전업을 거듭해 +_+ 역시나 멋지게 변신을 거듭 하였으니.... 현재 최신 버전 8.0을 이용해서 +_+ 간단한 걸 만들어 봤다 참조는 codeproject를 이용하였고 http://www.codeproject.com/wtl/wtl4mfc1.asp +_+ 버전업에 따라서 그런지 코드 방식이 많이 많이 달라졌지만... MFC와 좀더 닮아 있으므로 +_+ 문제될 것은 없었다... 보면 CDC는 CDCT 를 typedef 하였고 operator HDC() const { return m_hDC; } 와 같은 코드가 존재하므로 +_+ 핸들을 그냥 가져올 수 있는 있기 때문에 +_+ &로 주소를 주는게 아니고 그냥 값 자체를 주.. 더보기
download URL sf.net project http://sourceforge.net/projects/wtl Library 8.0 downloading http://www.microsoft.com/downloads/details.aspx?familyid=E5BA5BA4-6E6B-462A-B24C-61115E846F0C&displaylang=en 더보기
A Quick MFC and WTL Comparison http://www.endurasoft.com/vcd/mfcwtl.htm 더보기