1. GetStockObject
void CView::OnPrint(CDC* pDC, CPrintInfo* pInfo) { } 함수에서
pDC->SelectObject (GetStockObject(WHITE_BRUSH));
'SelectObject' 실행중 오류발생 -> API를 사용해서 해결했음
::SelectObject (pDC->m_hDC, GetStockObject(WHITE_BRUSH));
2. System menu
인쇄미리보기중 창의 우측 상단에 있는 최소, 최대, 닫기 버튼을 클릭하면 프로그램이 정지함
System menu 를 일시적으로 삭제함으로 회피했음
// 인쇄미리보기 시작시 System menu 를 삭제함
void CFrictionTesterView::OnBeginPrinting(CDC*, CPrintInfo*) {
CMainFrame* mf = (CMainFrame*)AfxGetMainWnd();
LONG style = GetWindowLong(mf->m_hWnd, GWL_STYLE);
style &= ~WS_SYSMENU;
SetWindowLong(mf->m_hWnd, GWL_STYLE, style);
}

// 인쇄미리보기 종료시 System menu 를 복구함
void CFrictionTesterView::OnEndPrinting(CDC*, CPrintInfo*) {
CMainFrame* mf = (CMainFrame*)AfxGetMainWnd();
LONG style = GetWindowLong(mf->m_hWnd, GWL_STYLE);
style |= WS_SYSMENU;
SetWindowLong(mf->m_hWnd, GWL_STYLE, style);
}

댓글 없음:
댓글 쓰기