출처 - 여기여기
// 1. DC 얻기CClientDC cClientDC(this);
// 2. CFont 선언CFont cFont;CString strTitle = _T("CFont 예제");
// 3. 폰트생성cFont.CreateFont ( 20, // 글자높이 10, // 글자너비 0, // 출력각도 0, // 기준 선에서의각도 FW_HEAVY, // 글자굵기 FALSE, // Italic 적용여부 FALSE, // 밑줄적용여부 FALSE, // 취소선적용여부 DEFAULT_CHARSET, // 문자셋종류 OUT_DEFAULT_PRECIS, // 출력정밀도 CLIP_DEFAULT_PRECIS, // 클리핑정밀도 DEFAULT_QUALITY, // 출력문자품질 DEFAULT_PITCH, // 글꼴Pitch _T("굴림체") // 글꼴 );
// 새로 만든 폰트로 속성을 전환한다.
CFont *p_old_font = dc.SelectObject(&my_font);
// 폰트 색상dc.SetTextColor(m_SelColorLabel);
// 투명도dc.SetBkMode(TRANSPARENT);
// 원하는 위치에 글씨 쓰기dc.DrawText(L"Label Sample", 12, CRect(rect.left, rect.top + 15, rect.Width(), rect.Height()), DT_CENTER | DT_VCENTER | DT_SINGLELINE);
/*
DT_CENTER : [왼쪽 - 가운데 - 오른쪽] 에서 가운데 위치 DT_VCENTER : [위 - 가운데 - 아래] 에서 가운데 위치 원하는게 DT_VCENTER인거 같은데.. 이 것의 특징은 DT_SINGLELINE 속성과 함께 써야 합니다. 만약 멀티라인인 경우에는 문자열의 길이를 계산해서 수동으로 가운데 맞쳐줘야 합니다. DT_EXPANDTABS: 탭문자 사용시 사용(탭(8칸) 공백 표현시) - 4칸으로 변경 표현시 DT_TABSTOP | 0x0400 로 대체해서 사용한다. */ |
//dc.DrawText(L"Label Sample", 12, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);//dc.TextOut(x - (x/2), y, L"Label Sample ");
// 이전에 사용하던 폰트로 속성을 복구 한다. dc.SelectObject(p_old_font);
// 생성된 폰트를 삭제한다. GDI 리소스를 반환하지 않으면 종종 다운되는 // 경우가 있기 때문에 명시적으로 삭제하는게 좋습니다. ^^; my_font.DeleteObject();
// 문자셋 표현ANSI_CHARSET ANSIDEFAULT_CHARSET 기본 값SYMBOL_CHARSET SHIFTJIS_CHARSET HANGEUL_CHARSET 한글 완성HANGUL_CHARSET 한글 완성GB2312_CHARSET GB2312CHINESEBIG5_CHARSET 중국어OEM_CHARSET JOHAB_CHARSET 한글 조합HEBREW_CHARSET 히브리어ARABIC_CHARSET 아라비아어GREEK_CHARSET 그리스어TURKISH_CHARSET 터키어VIETNAMESE_CHARSET 베트남어THAI_CHARSET EASTEUROPE_CHARSET RUSSIAN_CHARSET 러시아어MAC_CHARSET MAC 문자셋
BALTIC_CHARSET 발트어
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
생성한 모달리스 화면이 뒤로 가는 현상 (0) | 2017.03.10 |
---|---|
CEdit 패스워드 모드, 일반 모드 변경 (0) | 2017.03.02 |
MFC 화면 화면 최대화, 최소화, 복귀시 처리 (OnSize 이벤트) (0) | 2014.07.25 |
리스트(CListctrl)에서 체크상자(체크박스) 변경 확인하기 (0) | 2014.07.23 |
MFC 프로그램의 실행 흐름 요약 (0) | 2014.07.10 |
댓글