본문 바로가기

Study178

MFC Control SubClassing 할때(서브클래싱) | ON_NOTIFY_REFLECT_EX 와 ON_CONTROL_REFLECT_EX 이번에 CtreeCtrl을 SubClassing해야 할 일이 생겼다.뭐 기존에는 그냥 가져다 다이얼로그 붙여놓고 다이얼로그 소스 내부에서 지지고 볶고 해서 썼을텐데 이번에는CtreeCtrl을 SubClassing 하여 좀 더 내가 필요한 기능들이 첨부되어 있는 간단한 트리 컨트롤을 만들고 싶었다. 뭐 SubClassing 해봐야 Dran&Drop 처리, Search 기능, 아이템 선택시 하위 아이템 자동 펼치기 등등..좀더 생각 나는것들은더 처 넣겠지만.. 암튼 요런거 안하다 해보니 잼나기도 하고 예전에 왜 이런거 안하고 무식하게 다이얼로그마다 컨트롤 붙이고 컨트롤 기능입히고;;..-_-;뭐 물론 복잡한건 커스텀마이징 된 컨트롤을 갔다 썻지만 말이다... 이번에 잼났던게 ON_NOTIFY_REFLECT .. 2015. 12. 10.
CtreeCtrl 에서 Editable 처리시 엔터로 마무리 짓기 CtreeCtrl을 사용시 TreeCtrl에서 이름을 변경해야 하는 경우가 있는데 이때는 Editable 함수를 써서편집모드로 하실텐데요.. 근데 일반적으로 사용자들이 사용시에 편집이 완료되면 엔터를 치는 방식이 몸에 베어있죠..근데 예를들어 다이얼로그에다 트리를 붙인 상태에서 위와 같이 작업되어 있다 치고 편집모드에서 편집후 엔터를 치면 다이얼로그가 종료되죠;; 그래서 PreTranslateMessage 로 엔터키 입력시 종료안되게끔 하겠죠근데 이렇게 해버리면 TreeCtrl에서 편집모드가 완료가 안되는 상황이 나오죠 자 이때 어떻게 하느냐 ? if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) { CEdit *pEdit = m_wndTree... 2015. 12. 9.
Vs2008 북마크 현재 페이지에서만 움직이게 설정하기 vs2008에서 부터 F2 단축키로 북마크 설정시 현재 페이지가 아닌 다른 여러 페이지에 설정된곳으로이동된다. 이렇게 불편할수가..ㅠㅠ 이에 대한 설정방법이 있어 정리해놓는다.1. Tool 탭에 옵션으로 이동 2. Envirionment에서 Keyboard 항목으로 이동. 3. edit.nextbook 까지 그림처럼 치면 검색되어 나오는데 여기서 Edit.NextBookmarkInDocument 선택 4. Use new shortcut in 항목에서 Text Editor로 변경하고 Press shortcut keys 항목에 마우스 클릭후 F2키를 누르고, Assign 버튼 누리고 ok누르면 끝~~ 위에서 처럼 설정이 되면 F2키를 누르면 한페이지에서만 움직이는것을 볼 수 있다.정보는 공유되어야 한다. 쭈.. 2015. 12. 3.
더블 버퍼링 처리 샘플 코드 view plaincopy to clipboardprint?void CXXXDlg::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: 여기에 메시지 처리기 코드를 추가합니다. // 그리기 메시지에 대해서는 CWnd::OnPaint()을(를) 호출하지 마십시오. // ***************************************************** // // 더블 버퍼링 처리. // ***************************************************** // CDC* pDC = GetDC(); CRect rect; GetClientRect(rect); // 메모리 DC와 BITMAP 생성. .. 2015. 11. 27.