MFC 텍스트 관련함수 응용
- C++/MFC
- 2018. 5. 14. 14:15
MFC 텍스트 관련함수 응용
이번에는 MFC 텍스트 관련함수 응용에 대해서 한번 실습해보도록 하겠습니다.
먼저, MFC 프로젝트를 하나 생성해 줍니다. 대화상자 기반으로 생성을 해 주십시오.
이렇게 설정을 해주시고 마침 버튼을 클릭해 주시면 MFC 대화상자 기반의 프로젝트가 생성되게 됩니다. 그리고 나서 프로젝트 MainDlg.cpp 에 들어가셔서 OnPaint() 함수에 아래와 같은 코드들을 집어 넣어 주세요.
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 32 33 34 35 36 37 38 39 40 41 42 43 |
void CText1Dlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 그리기를 위한 디바이스 컨텍스트입니다.
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 클라이언트 사각형에서 아이콘을 가운데에 맞춥니다. int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2;
// 아이콘을 그립니다. dc.DrawIcon(x, y, m_hIcon); } else { CDialogEx::OnPaint(); }
CDC *pDC = GetDC(); //DC를 얻어옵니다.
CRect rect; GetClientRect(&rect);
pDC->SetTextColor(RGB(0, 0, 255)); pDC->SetBkColor(RGB(0,255,0)); pDC->DrawText(_T("Text Example"), -1, &rect, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
pDC->TextOutA(rect.Width()/2, rect.Height()/4*3-30, _T("Text 디폴트 정렬방식으로 출력"));
pDC->SetBkMode(TRANSPARENT); pDC->SetTextAlign(TA_RIGHT); pDC->TextOutA(rect.Width()/2, rect.Height()/4*3, _T("Text 오른쪽 정렬방식으로 출력"));
pDC->SetBkMode(TRANSPARENT); pDC->SetTextAlign(TA_CENTER); pDC->TextOutA(rect.Width()/2, rect.Height()/4*3+30, _T("Text 가운데 정렬방식으로 출력")); } |
간단히 코드 설명을 하자면 우선 CDC 객체를 선언하여 GetDC()함수를 이용하여 DC객체를 가지고 옵니다. 그리고 나서 SetTextColor, SetBKColor, DrawText 함수를 이용하여 텍스트의 색상, 배경 색상, 그리고 출력할 내용들을 입력하여 주시면 됩니다.
그리고 프로그램을 실행하게 되면 아래와 같은 결과화면이 나오게 됩니다. 이로써 간단히 MFC에서 텍스트를 정렬 및 출력하는 부분을 알아보았습니다.
'C++ > MFC' 카테고리의 다른 글
MFC 환경에서 Log 파일 생성 및 Log 기록 남기기 (0) | 2018.05.17 |
---|---|
MFC에서 스레드 선언 및 사용 법 (5) | 2018.05.17 |
MFC 사용자 정의 메시지 사용법 (0) | 2018.05.11 |
CDC클래스를 이용하여 출력하기 (0) | 2018.05.10 |
_T() 매크로 함수 (0) | 2018.05.10 |
이 글을 공유하기