본문 바로가기

Study/MFC61

CtreeCtrl 에서 Editable 처리시 엔터로 마무리 짓기 CtreeCtrl을 사용시 TreeCtrl에서 이름을 변경해야 하는 경우가 있는데 이때는 Editable 함수를 써서편집모드로 하실텐데요.. 근데 일반적으로 사용자들이 사용시에 편집이 완료되면 엔터를 치는 방식이 몸에 베어있죠..근데 예를들어 다이얼로그에다 트리를 붙인 상태에서 위와 같이 작업되어 있다 치고 편집모드에서 편집후 엔터를 치면 다이얼로그가 종료되죠;; 그래서 PreTranslateMessage 로 엔터키 입력시 종료안되게끔 하겠죠근데 이렇게 해버리면 TreeCtrl에서 편집모드가 완료가 안되는 상황이 나오죠 자 이때 어떻게 하느냐 ? if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) { CEdit *pEdit = m_wndTree... 2015. 12. 9.
더블 버퍼링 처리 샘플 코드 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.
[MFC ] CDC 출력함수 정리 출처:http://warmz.tistory.com/860 참고::http://skmagic.tistory.com/entry/API-BitBlt-PatBltStretchBltTransparentBlt-%EC%A0%95%EB%A6%AC http://raptors.egloos.com/892079 Blt 관련 함수들은 CDC 클래스의 멤버 함수로써 해당 DC에 비트맵을 그리거나 복사, 초기화하는 기능을 수행한다.관련 API 참고::http://msdn.microsoft.com/ko-kr/library/fxhhde73.aspx 1. BitBlt (고속복사)메모리 DC의 비트맵을 현재 DC(일반적으론 화면 DC)에 고속복사한다. 이 때 두 DC는 반드시 호환되는 DC이거나 한쪽이 흑백이어야 한다. 완전히 다른 Co.. 2015. 7. 10.
그라데이션 배경색 입히기 다이얼로그 배경에 그라데이션으로 배경색을 입혀보자 OnPaint() 함수에다가 처리하면 된다. void XXXXX::OnPaint(){ // 사각형 그라데이션 그리기 TRIVERTEX vert[2]; GRADIENT_RECT rect; CRect rc; GetClientRect(&rc); // 그라데이션의 시작좌표를 명시한다. vert[0].x = 0; vert[0].y = 0; // 그라데이션의 시작색상을 명시한다. vert[0].Red = 0xF200; vert[0].Green = 0xF200; vert[0].Blue = 0xF200; vert[0].Alpha = 0xF200; // 그라데이션의 끝좌표를 명시한다. vert[1].x = rc.right; vert[1].y = rc.bottom; // .. 2015. 7. 7.