Programming/C Win32 MFC2009. 6. 15. 17:25
MFC 다이얼로그에서 폰트를 수정하는 눈에 띄는 방법은
다이얼로그의 Properties를 눌러서 다이얼로그 전체의 폰트를 변경하는 것이다.




RichEditCtrl 사용해도 된다고 하지만, RichEditCtrl은 구동도 번거로운지라 다른 방법을 찾아 보게 되었다.

Step 1. CFont 변수를 Member Variable로 추가한다.(Private 추천)
Step 2. Class Wizard에서 컨트롤 변수를 선언해준다.
class CPrjNameDlg : public CDialog
{
// Construction
public:
    CFont m_fedit;

// Dialog Data
    //{{AFX_DATA(CBarcodeDlg)
    enum { IDD = IDD_DIALOG_ID };
    CEdit    m_edit;
}

Step 3. OnInitDialog() 에서 Cfont 변수를 CreateFont로 생성한다.
m_fedit.CreateFont(52, 0, 0, 0, FW_BOLD, FALSE, FALSE, 0, DEFAULT_CHARSET,
        OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS,
        "Courier New");
처음의 52는 폰트 크기, FW_BOLD는 폰트 특성(현재 굵게-Bold), 마지막의 "Courier New"는 변경할 폰트 이름이다.

Step 4. Cfont 변수를 원하는 컨트롤에 SetFont 메소드를 이용하여 설정한다.
m_edit.SetFont(&m_fedit);

주의 할 사항은, 지역 변수로 사용하면 CFont 내용이 사라지므로 커서만 커진 채 글씨가 커지지는 않는다.
[링크 : http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=299]


참고 사항으로
한글폰트는 "~체" 라는 것들은 고정폭 폰트이다.
영문폰트는 Courier / Courier New / Lucida Console / Fixedsys 정도?

[링크 : http://www.lowing.org/fonts/]


Posted by 구차니