SoftWare_API_MFC16 OnEraseBkgnd() 배경화면(Image bmp) & 속도 향상 OnEraseBkgnd 함수는보통배경화면을비트맵을사용하여그리기위해사용한다. 배경화 면을비트맵으로처리하면윈도우가새로그려져야할경우화면이깜박이고, 컨트롤들이 비트맵에가려서보이지않게된다. 윈도우가다른윈도우에가려졌다가다시앞으로나올 경우그윈도우는다시그려지게된다. 윈도우가배경을그리는방법은모든화면을깨끗이 지우고(흰색브러쉬로채운다), 그위에배경을그리게된다. 한마디로배경을다시그리기 위해두개의작업이이루어진다. (윈도우가배경을다시그려야할때 WM_ERASEBKGND 메세지를호출한다.) OnEraseBkgnd() 기본형함수 1.bool OnEraseBkgnd(CDC *pDC) { DC(Device Context)의종류 reutrn CDialog::OnEraseBkgnd(pDC); // Dialog에서작업 2.} // 흰부러쉬로배.. 2020. 2. 28. C++ MFC Tip 출처 : Tong - navy9370님의 MFC통 1. DC얻기 CClientDC dc(this); 2. Client 영역 구하기 GetClientRect(&rect); WM_SIZE 메시지발생후 cx,cy 사용 3. 문자열 사각형안에 그리기 pDC->DrawText(문자열,사각형,Style); Style: DT_BOTTOM - 문자열을 사각형 맨아래줄에배열 반드시 DT_SINGLELINE과 함께사용 DT_CENTER - 문자열을 가로중앙에 배치 DT_VCENTER - 문자열을 세로중앙에 배치 DT_LEFT,RIGHT - 문자열을 좌,우로 배치 DT_SINGLELINE - 문자열을 한줄로만 쓴다 4. Brush 사용법 CBrush brushname(RGB(red,green,blue)); //브러쉬 생성 .. 2020. 2. 26. TreeView에서포커스를잃어도선택된거보이게 BOOL CMyTreeView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.style|=TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS|TVS_EDITLABELS; cs.style|=TVS_SHOWSELALWAYS; return CTreeView::PreCreateWindow(cs); } CTreeCtrl::Create BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); Return Value Nonzero if in.. 2020. 1. 8. MFC 콘솔 디버깅 stdafx.cpp파일에 #ifdef CONSOLE_DEBUG #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console" ) #endif 2020. 1. 3. 이전 1 2 3 4 다음