에디트 컨트롤의 글자는 보통 윈도우의 기본 화면체를 따르게 된다.
울나라 한글 윈도우는 - 글씨체:굴림, 크기 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와 같은 기본 함수도 외워두면 좋다.

 

14.zip
0.03MB






+ Recent posts