티스토리 뷰
MFC에서 더블버퍼링 사용하기.
이걸 왜 지금까지 안올려놨었지 -.-?;;
일단 제일 중요한건 헤더 파일에
CBitmap m_Bitmap;
를 선언 하는 것.
이 비트맵에 객체를 생성하고 이것저것 해줄 것임.
우선 아래와 같이 Bitmap에 그림을 그려줌.
void CDlgXXX::MakeMemBitmap(void) { CClientDC dc(this); //실제 dc CBitmap* pOldBmp; //oldbmp CDC MemDC; //메모리DC m_Bitmap.DeleteObject(); //기존꺼 지워줌 m_Bitmap.CreateCompatibleBitmap(&dc, 500, 200); //새로 만들어줌 MemDC.CreateCompatibleDC(&dc); //memDC도 새로 만들어줌 pOldBmp = MemDC.SelectObject(&m_Bitmap); //memDC의 비트맵 선택 MemDC.MoveTo(0,0); MemDC.LineTo(500,200); //memDC에 그린다.(비트맵 위에 그려진다) MemDC.SelectObject(pOldBmp); //oldbmp 선택 MemDC.DeleteDC(); //memDC를 지운다. }
그리고 아래와 같이 OnPaint에서 BitBlt를 통해 다시 불러줌.
void CDlgXXX::OnPaint() { CPaintDC dc(this); // device context for painting CDC MemDC; CBitmap* pOldBmp; MemDC.CreateCompatibleDC(&dc); pOldBmp = MemDC.SelectObject(&m_Bitmap); dc.BitBlt(0,0,500,200, &MemDC, 0,0,SRCCOPY); MemDC.SelectObject(pOldBmp); MemDC.DeleteDC(); }그럼 이만!!
'Development > Windows' 카테고리의 다른 글
[MFC] DLL에서 STL (vector) Export 하기 (0) | 2016.02.01 |
---|---|
[MFC] ToolBar 항목 지우는 방법 (2) | 2012.02.26 |
[TroubleShooting/MFC] Double Buffering을 구현하였는데도 깜빡이는 문제 (0) | 2012.02.24 |
[MFC] 다이얼로그 배경 투명하게 만들기 (0) | 2012.02.23 |
MFC로 구현한 옵져버 패턴(옵저버 패턴)Observer 기본 뼈대 (0) | 2012.02.18 |
[MFC] 아무리 봐도 햇깔리는 화면 좌표에 관련 한 것.. (0) | 2011.10.17 |
[MFC] 아이콘이 안바껴요. 아이콘 바꾸기! (0) | 2011.09.21 |
[MFC] Temp 폴더 경로 얻어와서 새 파일 이름 만들기 (0) | 2011.08.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- jni
- 음악
- 안드로이드
- java
- gcc
- jni강좌
- source
- algorithm
- API
- Troubleshooting
- NDK
- Cloud
- 드라이버
- Quiz
- winapi
- driver
- MFC
- AWS
- android
- database
- 리눅스
- it
- db
- C
- 프로그래밍
- Python
- Visual C++
- C++
- linux
- kering
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함