MFC
-
다이얼로그에서의 더블 버퍼링MFC 2010. 10. 15. 15:34
void CTestDlg::OnPaint() { SolidBrush bgBrush(Color(255,255,255)); // 흰색으로 초기화 CPaintDC dc(this); CBrush brhBack; brhBack.CreateSolidBrush(RGB(255,255,255)); // 배경색 CRect rlClientRect; GetClientRect(rlClientRect); Rect rclClient(rlClientRect.left,rlClientRect.top,rlClientRect.Width(),rlClientRect.Height()); CBitmap bmp; CBitmap* pOldBmp; CDC memDC; bmp.CreateCompatibleBitmap(&dc, rlClientRect.ri..
-
MFC 에서 CString 문자열을 특정 문자를 기준으로 자르고 싶을 때MFC 2010. 7. 13. 18:15
프로그래밍을 하다 보면 "," 또는 "/" 같은 단어로 연결되어진 문자열을 잘라라 할 때가 있다. C에서야 strtok를 사용한다고 치지만(사실 strtok 함수에도 문제점이 존재한다.) MFC에서 CString 문자열을 사용하는 경우에는? 바로, AfxExtractSubString() 이라는 함수가 있다. 사용법은 굉장히 간단하다. 예를 들면... CString example = "a,b,c,d,e,f"; CString subText = ""; AfxExtractSubString(subText, example , 0, ','); // subText에 "a"가 들어감 AfxExtractSubString(subText, example , 1, ','); // subText에 "b"가 들어감 AfxExtra..
-
GDI+를 이용한 더블 버퍼링MFC 2010. 7. 13. 18:11
지금까지 찾아본 GDI+ 더블 버퍼링 코드를 보면 거의 비슷한 내용이지만 구현하는 방법이 조금씩 달라서 도대체 어떤 것을 써야할지 헷갈리는 경우가 있다. 이럴 경우를 위해서 본인이 현재 쓰는 방법을 소개한다. 실제로, 더블 버퍼링 구현에는 여러가지 방법이 있으므로 참고만 하기 바란다. 앞으로 쓰여질 GDI+ 관련 내용도 아래에 있는 더블 버퍼링을 기준으로 설명할 것이다. 다음과 같은 순서로 구현한다 1. GDI+ 를 설정한다. stdafx.h 에 아래 내용 추가 #include #pragma comment(lib,"gdiplus") using namespace Gdiplus; DoubleBufferingTest.h 에 변수 추가 ULONG_PTR gdiplusToken; DoubleBufferingTes..
-
SDI에서의 스크롤뷰 구현MFC 2010. 5. 24. 14:39
프로젝트 진행 중 스크롤뷰 형태로 바꿔야 할 경우가 생겼다. 그럼 바꿔보자. 1. CTestView.h 파일의 상속을 변경한다 class CTestView : public CView => class CTestView : public CScrollView 2. CTestView.cpp 파일의 OnInitialUpdate() 함수에서 아래 내용을 추가한다. CRect rlClientRect; GetClientRect(&rlClientRect); CSize sizeTotal; sizeTotal.cx = 0; // 스크롤로 확장하고 싶은 x축 사이즈 sizeTotal.cy = 1200; // 스크롤로 확장하고 싶은 y축 사이즈 SetScrollSizes(MM_TEXT, sizeTotal); // 스크롤바 설정 ..