다음을 통해 공유


CFontDialog 클래스

글꼴 선택 대화 상자를 애플리케이션에 통합할 수 있습니다.

구문

class CFontDialog : public CCommonDialog

멤버

공용 생성자

속성 설명
CFontDialog::CFontDialog CFontDialog 개체를 생성합니다.

공용 메서드

이름 설명
CFontDialog::D oModal 대화 상자를 표시하고 사용자가 선택할 수 있도록 합니다.
CFontDialog::GetCharFormat 선택한 글꼴의 문자 서식을 검색합니다.
CFontDialog::GetColor 선택한 글꼴의 색을 반환합니다.
CFontDialog::GetCurrentFont 현재 선택한 글꼴의 특성을 구조체에 LOGFONT 할당합니다.
CFontDialog::GetFaceName 선택한 글꼴의 얼굴 이름을 반환합니다.
CFontDialog::GetSize 선택한 글꼴의 점 크기를 반환합니다.
CFontDialog::GetStyleName 선택한 글꼴의 스타일 이름을 반환합니다.
CFontDialog::GetWeight 선택한 글꼴의 두께를 반환합니다.
CFontDialog::IsBold 글꼴이 굵게 표시되어 있는지 여부를 결정합니다.
CFontDialog::IsItalic 글꼴이 기울임을 확인합니다.
CFontDialog::IsStrikeOut 글꼴이 취소선으로 표시되는지 여부를 결정합니다.
CFontDialog::IsUnderline 글꼴에 밑줄이 그어지는지 여부를 결정합니다.

공용 데이터 멤버

이름 설명
CFontDialog::m_cf 개체를 사용자 지정하는 데 사용되는 구조체입니다 CFontDialog .

설명

CFontDialog 개체는 현재 시스템에 설치된 글꼴 목록이 있는 대화 상자입니다. 사용자는 목록에서 특정 글꼴을 선택할 수 있으며 이 선택은 애플리케이션에 다시 보고됩니다.

개체를 CFontDialog 생성하려면 제공된 생성자를 사용하거나 새 하위 클래스를 파생시키고 고유한 사용자 지정 생성자를 사용합니다.

개체가 CFontDialog 생성되면 이 구조를 사용하여 m_cf 대화 상자에서 컨트롤의 값 또는 상태를 초기화할 수 있습니다. m_cf 구조체는 CHOOSEFONT 형식입니다. 이 구조에 대한 자세한 내용은 Windows SDK를 참조하세요.

대화 상자 개체의 컨트롤을 초기화한 후 멤버 함수를 호출 DoModal 하여 대화 상자를 표시하고 사용자가 글꼴을 선택할 수 있도록 합니다. DoModal 는 사용자가 확인(IDOK) 또는 취소(IDCANCEL) 단추를 선택했는지 여부를 반환합니다.

IDOK를 반환하는 경우 DoModal 사용자의 멤버 함수 중 CFontDialog하나를 사용하여 사용자의 정보 입력을 검색할 수 있습니다.

Windows CommDlgExtendedError 함수를 사용하여 대화 상자를 초기화하는 동안 오류가 발생했는지 여부를 확인하고 오류에 대해 자세히 알아볼 수 있습니다. 이 함수에 대한 자세한 내용은 Windows SDK를 참조하세요.

CFontDialog 는 Windows 버전 3.1 이상과 함께 제공되는 COMMDLG.DLL 파일을 사용합니다.

대화 상자를 사용자 지정하려면 클래스를 CFontDialog파생시키고, 사용자 지정 대화 템플릿을 제공하고, 메시지 맵을 추가하여 확장 컨트롤에서 알림 메시지를 처리합니다. 처리되지 않은 모든 메시지는 기본 클래스에 전달되어야 합니다.

후크 함수를 사용자 지정할 필요는 없습니다.

사용에 CFontDialog대한 자세한 내용은 일반 대화 상자 클래스를 참조 하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

Cdialog

CCommonDialog

CFontDialog

요구 사항

헤더: afxdlgs.h

CFontDialog::CFontDialog

CFontDialog 개체를 생성합니다.

CFontDialog(
    LPLOGFONT lplfInitial = NULL,
    DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS,
    CDC* pdcPrinter = NULL,
    CWnd* pParentWnd = NULL);

CFontDialog(
    const CHARFORMAT& charformat,
    DWORD dwFlags = CF_SCREENFONTS,
    CDC* pdcPrinter = NULL,
    CWnd* pParentWnd = NULL);

매개 변수

plfInitial
글꼴의 특징 중 일부를 설정할 수 있는 LOGFONT 데이터 구조에 대한 포인터입니다.

Charformat
서식 있는 편집 컨트롤에서 글꼴의 특징 중 일부를 설정할 수 있는 CHARFORMAT 데이터 구조에 대한 포인터입니다.

dwFlags
하나 이상의 글꼴 선택 플래그를 지정합니다. 비트 OR 연산자를 사용하여 하나 이상의 미리 설정된 값을 결합할 수 있습니다. m_cf.Flag 구조체 멤버를 수정하는 경우 기본 동작을 그대로 유지하려면 변경에서 비트 OR 연산자를 사용해야 합니다. 이러한 각 플래그에 대한 자세한 내용은 Windows SDK의 CHOOSEFONT 구조에 대한 설명을 참조하세요.

pdcPrinter
프린터 디바이스 컨텍스트에 대한 포인터입니다. 제공하는 경우 이 매개 변수는 글꼴을 선택할 프린터에 대한 프린터 디바이스 컨텍스트를 가리킵니다.

pParentWnd
글꼴 대화 상자의 부모 또는 소유자 창에 대한 포인터입니다.

설명

생성자는 CHOOSEFONT 구조의 멤버를 자동으로 채웁니다. 기본값과는 다른 글꼴 대화 상자를 사용하려는 경우에만 이러한 멤버를 변경해야 합니다.

참고 항목

rich edit 컨트롤이 지원되지 않는 경우에만 이 함수의 첫 번째 버전이 제공됩니다.

예시

// Show the font dialog with all the default settings.
CFontDialog dlg;
dlg.DoModal();

// Show the font dialog with 12 point "Times New Roman" as the
// selected font.
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));

CClientDC dc(this); // expects a CWnd that has already been initialized
lf.lfHeight = -MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72);
_tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Times New Roman"));

CFontDialog fdlg(&lf);
fdlg.DoModal();

CFontDialog::D oModal

이 함수를 호출하여 Windows 일반 글꼴 대화 상자를 표시하고 사용자가 글꼴을 선택할 수 있도록 합니다.

virtual INT_PTR DoModal();

Return Value

IDOK 또는 IDCANCEL. IDCANCEL이 반환되면 Windows CommDlgExtendedError 함수를 호출하여 오류가 발생했는지 여부를 확인합니다.

IDOK 및 IDCANCEL은 사용자가 확인 또는 취소 단추를 선택했는지 여부를 나타내는 상수입니다.

설명

m_cf 구조체의 멤버를 설정하여 다양한 글꼴 대화 상자 컨트롤을 초기화하려면 호출DoModal하기 전에 이 작업을 수행해야 하지만 대화 상자 개체가 생성된 후에는 이 작업을 수행해야 합니다.

IDOK를 반환하는 경우 DoModal 다른 멤버 함수를 호출하여 사용자가 대화 상자에 입력한 설정 또는 정보를 검색할 수 있습니다.

예시

CFontDialog::CFontDialog 및 CFontDialog::GetColor에 대한 예제를 참조하세요.

CFontDialog::GetCharFormat

선택한 글꼴의 문자 서식을 검색합니다.

void GetCharFormat(CHARFORMAT& cf) const;

매개 변수

cf
선택한 글꼴의 문자 서식에 대한 정보를 포함하는 CHARFORMAT 구조체입니다.

CFontDialog::GetColor

이 함수를 호출하여 선택한 글꼴 색을 검색합니다.

COLORREF GetColor() const;

Return Value

선택한 글꼴의 색입니다.

예시

// Get the color of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   COLORREF color = dlg.GetColor();
   TRACE(_T("Color of the selected font = %8x\n"), color);
}

CFontDialog::GetCurrentFont

이 함수를 호출하여 현재 선택한 글꼴의 특성을 LOGFONT 구조체의 멤버에 할당합니다.

void GetCurrentFont(LPLOGFONT lplf);

매개 변수

lplf
구조체에 대한 포인터입니다 LOGFONT .

설명

다른 CFontDialog 멤버 함수는 현재 글꼴의 개별 특성에 액세스하기 위해 제공됩니다.

DoModal을 호출하는 동안 이 함수가 호출되면 현재 선택 영역(사용자가 대화 상자에서 보거나 변경한 내용)을 반환합니다. 이 함수는 호출 후에 호출되는 경우(IDOK를 반환하는 DoModal 경우에만 DoModal ) 사용자가 실제로 선택한 항목을 반환합니다.

예시

// Get the characteristics of the currently selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   LOGFONT lf;
   dlg.GetCurrentFont(&lf);
   TRACE(_T("Face name of the selected font = %s\n"), lf.lfFaceName);
}

CFontDialog::GetFaceName

이 함수를 호출하여 선택한 글꼴의 얼굴 이름을 검색합니다.

CString GetFaceName() const;

Return Value

대화 상자에서 CFontDialog 선택한 글꼴의 얼굴 이름입니다.

예시

// Get the face name of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   CString facename = dlg.GetFaceName();
   TRACE(_T("Face name of the selected font = %s\n"), facename);
}

CFontDialog::GetSize

이 함수를 호출하여 선택한 글꼴의 크기를 검색합니다.

int GetSize() const;

Return Value

글꼴의 크기(포인트의 10분의 1)입니다.

예시

// Get the size of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   int size = dlg.GetSize();
   TRACE(_T("The size of the selected font = %d\n"), size);
}

CFontDialog::GetStyleName

이 함수를 호출하여 선택한 글꼴의 스타일 이름을 검색합니다.

CString GetStyleName() const;

Return Value

글꼴의 스타일 이름입니다.

예시

// Get the style name of the selected font, if any.
CFontDialog dlg;
dlg.m_cf.Flags |= CF_USESTYLE;
if (dlg.DoModal() == IDOK)
{
   CString stylename = dlg.GetStyleName();
   TRACE(_T("Style name of the selected font = %s\n"), stylename);
}

CFontDialog::GetWeight

이 함수를 호출하여 선택한 글꼴의 가중치를 검색합니다.

int GetWeight() const;

Return Value

선택한 글꼴의 가중치입니다.

설명

글꼴의 가중치에 대한 자세한 내용은 CFont::CreateFont를 참조하세요.

예시

// Get the weight of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   int weight = dlg.GetWeight();
   TRACE(_T("Weight of the selected font = %d\n"), weight);
}

CFontDialog::IsBold

이 함수를 호출하여 선택한 글꼴이 굵게 표시되어 있는지 확인합니다.

BOOL IsBold() const;

Return Value

선택한 글꼴에 굵은 특성이 설정된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

예시

// Is the selected font bold?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL bold = dlg.IsBold();
   TRACE(_T("Is the selected font bold? %d\n"), bold);
}

CFontDialog::IsItalic

선택한 글꼴이 기울임꼴인지 확인하려면 이 함수를 호출합니다.

BOOL IsItalic() const;

Return Value

선택한 글꼴에 기울임꼴 특성이 설정된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

예시

// Is the selected font italic?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL italic = dlg.IsItalic();
   TRACE(_T("Is the selected font italic? %d\n"), italic);
}

CFontDialog::IsStrikeOut

이 함수를 호출하여 선택한 글꼴이 취소선으로 표시되는지 확인합니다.

BOOL IsStrikeOut() const;

Return Value

선택한 글꼴에 취소선 특성이 설정된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

예시

// Is the selected font displayed with strikeout?

CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL strikeout = dlg.IsStrikeOut();
   TRACE(_T("Is the selected font strikeout? %d\n"), strikeout);
}

CFontDialog::IsUnderline

이 함수를 호출하여 선택한 글꼴에 밑줄이 그어지는지 확인합니다.

BOOL IsUnderline() const;

Return Value

선택한 글꼴에 밑줄 특성이 설정된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

예시

// Is the selected font underlined?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL underline = dlg.IsUnderline();
   TRACE(_T("Is the selected font underlined? %d\n"), underline);
}

CFontDialog::m_cf

멤버가 대화 상자 개체의 특성을 저장하는 구조체입니다.

CHOOSEFONT m_cf;

설명

개체를 생성한 CFontDialog 후 멤버 함수를 호출하기 전에 대화 상자의 다양한 측면을 수정하는 DoModal 데 사용할 m_cf 수 있습니다. 이 구조에 대한 자세한 내용은 Windows SDK의 CHOOSEFONT를 참조하세요.

예시

// The code fragment creates a font based on the information
// we got from CFontDialog::m_cf variable.

CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   // Create the font using the selected font from CFontDialog.
   LOGFONT lf;
   memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));

   CFont font;
   VERIFY(font.CreateFontIndirect(&lf));

   // Do something with the font just created...
   CClientDC dc(this);
   CFont *def_font = dc.SelectObject(&font);
   dc.TextOut(5, 5, _T("Hello"), 5);
   dc.SelectObject(def_font);

   // Done with the font. Delete the font object.
   font.DeleteObject();
}

참고 항목

MFC 샘플 HIERSVR
CCommonDialog 클래스
계층 구조 차트