에디트 컨트롤의 글자는 보통 윈도우의 기본 화면체를 따르게 된다.
울나라 한글 윈도우는 - 글씨체:굴림, 크기 9pt이다.
위의 그림은 아이디쪽의 폰트는 이탤릭 스타일을 넣어 보았고,
일기장의 글씨는 크기를 20pt로 키워보았다.
글씨체.. 즉, FONT는 MFC에서도 CFont라고 하는 잘 관리된 클래스로 기능을 제공한다.
여기서 할일은 CFont라는 객체를 생성해서 위에서 나오는것과 같은 속성을 부여한 다음에
컨트롤에다가 이 폰트를 쓰거라... 라고 해주면 끝난다.
두가지 스타일이므로
다이알로그의 헤더에 다음과 같이 폰트를 선언하였다.
CFont m_bigfont;
CFont m_stylefont;
이제는 소스에서 저 폰트를 각 속성별로 생성하여 에디트에 연결해 주어야한다.
BOOL CSssDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 중략
// 큰크기의 폰트를 만든다.
m_bigfont.CreatePointFont(200, "굴림");
// IDC_EDIT8 컨트롤에 이 폰트를 써라라고 알려준다.
GetDlgItem(IDC_EDIT8)->SetFont(&m_bigfont);
// 윈도우에서 제공해주는 폰트의 여러가지 속성을 정리한 구조체.
LOGFONT log;
// 다이알로그가 가진 기본 폰트 정보를 얻어 온후 그 속성을 log 변수에 담는다.
GetFont()->GetLogFont(&log);
// 글자의 이탤릭 속성을 활성화 시킨다.
log.lfItalic = TRUE;
// 주어진 로그 폰트 속성을 이용하여 폰트를 생성한다.
m_stylefont.CreateFontIndirect(&log);
// IDC_EDIT8 컨트롤에 이 폰트를 써라라고 알려준다.
GetDlgItem(IDC_EDIT1)->SetFont(&m_stylefont);
// 중략
}
CFont 나 LOGFONT를 오늘 처음 접하신 분들이나 대충 책에서만 보아왔던 사람이라면
소스에서 마우스로 클릭하고 F12를 눌러 보아라.
그러면 자동으로 그 선언부로 이동하여 어떤 구조를 가지고 있는지 자세히 보여줄 것이다.
또한 MSDN을 참조하여 그 설명을 살펴보아두면 다음에, 다른 컨트롤이나 윈도우의 글씨체나
속성을 변경할 때 큰 도움이 될것이다.
또한 GetDlgItem 함수와 SetFont, GetFont와 같은 기본 함수도 외워두면 좋다.
Posted by 까막백(홈페이지 이동)