다음을 통해 공유


CFont::CreateFont

초기화는 CFont 지정 된 특성을 가진 개체.

BOOL CreateFont( 
   int nHeight, 
   int nWidth, 
   int nEscapement, 
   int nOrientation, 
   int nWeight, 
   BYTE bItalic, 
   BYTE bUnderline, 
   BYTE cStrikeOut, 
   BYTE nCharSet, 
   BYTE nOutPrecision, 
   BYTE nClipPrecision, 
   BYTE nQuality, 
   BYTE nPitchAndFamily, 
   LPCTSTR lpszFacename  
);

매개 변수

  • nHeight
    글꼴의 원하는 높이 (논리 단위)를에서 지정합니다. 참조는 lfHeight 소속은 LOGFONT구조에서 Windows SDK 에 대 한 설명을. 절대 값을 nHeight 변환 후 16, 384 장치 단위 초과 하지 않아야 합니다. 모든 글꼴의 요청 된 크기를 초과 하는 경우 모든 높이 비교에 대 한 요청 된 크기를 초과 하지 않는 가장 큰 글꼴 또는 작은 글꼴을 글꼴 매퍼를 찾습니다.

  • nWidth
    글꼴에서 문자의 평균 너비 (논리 단위)에서 지정합니다. 경우 nWidth 0, 장치의 종횡비 digitization 가로 세로 비율 차이의 절대 값으로 결정 되는 가장 가까운 일치 하는 것에 사용할 수 있는 글꼴 일치 합니다.

  • nEscapement
    글자 방향 벡터와 디스플레이 화면의 x 축 사이의 각도를 0.1도 단위로 지정합니다. 글자 방향 벡터 출처의 첫 번째 및 마지막 문자에 줄을 선입니다. X 축에서 시계 반대 방향으로 각도 측정 합니다. 참조는 lfEscapement 멤버에는 LOGFONT 구조에 Windows SDK 에 대 한 자세한 내용은.

  • nOrientation
    문자 기준선과 x 축 사이의 각도를 0.1도 단위로 지정합니다. 각도 y 방향 아래쪽 및 y 방향으로 구성 된 좌표계를 x 축에서 시계 방향으로 좌표계의 x 축에서 시계 반대 방향으로 측정 됩니다.

  • nWeight
    잉크가 픽셀 당 1000 단위로 글꼴 두께 지정합니다. 참조는 lfWeight 멤버에는 LOGFONT 구조에 Windows SDK 에 대 한 자세한 내용은. 대략적인 설명된 값 수 있습니다. 실제 모양 서체에 따라 달라 집니다. 일부 글꼴 하기만 하면 FW_NORMAL, FW_REGULAR, 및 FW_BOLD 가중치. 경우 FW_DONTCARE 지정한 기본 가중치를 사용 합니다.

  • bItalic
    글꼴이 기울임꼴인지 여부를 지정 합니다.

  • bUnderline
    글꼴에 밑줄이 있는지 여부를 지정 합니다.

  • cStrikeOut
    문자 글꼴에서을 취소선 여부를 지정 합니다. 경우 취소선 글꼴 지정 0이 아닌 값으로 설정 합니다.

  • nCharSet
    지정 된 글꼴의 문자 Setsee는 lfCharSet 멤버에는 LOGFONT 구조에 Windows SDK 값 목록에 대 한.

    OEM 문자 집합은 시스템에 따라 다릅니다.

    다른 문자 집합을 가진 글꼴이 시스템에 있을 수 있습니다. 번역 또는 해당 글꼴을 렌더링 하는 문자열을 해석 하는 알 수 없는 문자 집합을 글꼴을 사용 하 여 응용 프로그램을 시도해 야 합니다. 대신, 문자열 출력 장치 드라이버 직접 전달 되어야 합니다.

    글꼴 매퍼는 사용 하지 않는 DEFAULT_CHARSET 값입니다. 응용 프로그램 이름과 논리 글꼴을 완전히 설명 하는 글꼴의 크기를 허용 하도록이 값을 사용할 수 있습니다. 지정 된 이름 가진 존재 하지 않는 경우 지정한 글꼴의 문자 집합에서 글꼴을 대체할 수 있습니다. 예기치 않은 결과 방지 하려면 응용 프로그램을 사용 해야는 DEFAULT_CHARSET 가급적 값입니다.

  • nOutPrecision
    원하는 출력 정밀도 지정합니다. 출력 정밀도 출력이 요청 된 글꼴의 높이, 너비, 문자 방향, 이스케이프 및 피치 일치 해야 정도 정의 합니다. 참조는 lfOutPrecision 멤버에는 LOGFONT 구조에서 Windows SDK 값 목록과 자세한 정보에 대 한.

  • nClipPrecision
    원하는 클리핑 정밀도 지정합니다. 클리핑 정밀도는 클리핑 영역을 일부 벗어난 문자를 자르는 방법을 정의합니다. 참조는 lfClipPrecision 멤버에는 LOGFONT 구조에 Windows SDK 값의 목록.

    포함 된 읽기 전용 글꼴이 사용 하는 응용 프로그램을 지정 해야 CLIP_ENCAPSULATE.

    일관 된 회전 장치, 트루타입, 및 벡터 글꼴을 달성 하려면 응용 프로그램 OR 연산자 결합 수의 CLIP_LH_ANGLES 값과 기타 nClipPrecision 값입니다. 경우는 CLIP_LH_ANGLES 비트가 설정, 모든 글꼴에 대해 회전 좌표계의 방향을 왼손 인지에 따라 달라 집니다. 또는 오른손. (설명은 좌표계의 방향에 대 한 자세한 내용은 nOrientation 매개 변수입니다.) 경우 CLIP_LH_ANGLES 는 설정 하지 않지만 항상 장치 글꼴 회전 시계 반대 방향으로 다른 글꼴 회전 좌표계의 방향에 따라 달라 집니다.

  • nQuality
    GDI는 실제 실제 글꼴의 논리 글꼴 특성에 맞게 시도해 야 신중 정의 글꼴의 출력 품질을 지정 합니다. 참조는 lfQuality 멤버에는 LOGFONT 구조에 Windows SDK 값의 목록.

  • nPitchAndFamily
    글꼴 피치 및 패밀리를 지정합니다. 참조는 lfPitchAndFamily 멤버에는 LOGFONT 구조에서 Windows SDK 값 목록과 자세한 정보에 대 한.

  • lpszFacename
    A CString 또는 글꼴의 서체 이름을 지정 하는 null로 끝나는 문자열에 대 한 포인터입니다. 이 문자열의 길이 30 자를 넘지 않아야 합니다. Windows EnumFontFamilies 함수를 사용 하 여 현재 사용 가능한 모든 글꼴을 열거 합니다. 경우 lpszFacename 는 NULL, 장치 독립적인 서체는 GDI를 사용 하 여.

반환 값

성공 하면 0이 아닌. 그렇지 않으면 0입니다.

설명

글꼴 글꼴 장치 컨텍스트 이후에 선택할 수 있습니다.

CreateFont 함수는 새 Windows GDI 글꼴을 만들지 않습니다. 사용 가능한 실제 글꼴에서 가장 가까운 GDI를 선택 단지.

응용 프로그램 논리 글꼴을 만들 때 기본 설정은 대부분의 매개 변수를 사용할 수 있습니다. 특정 값을 제공 해야 합니다 항상 매개 변수가 nHeight 및 lpszFacename. 경우 nHeight 및 lpszFacename 설정 되지 않은 응용 프로그램에서 만든 글꼴 논리 장치에 종속 됩니다.

완료에 CFont 만든 개체는 CreateFont 기능, 사용 CDC::SelectObject 다른 글꼴 디바이스 컨텍스트로 선택 하 고 삭제는 CFont 더 이상 필요 없는 개체.

예제

// The code fragment shows how to create a font object, 
// select the font object into a DC (device context) for text 
// drawing, and finally delete the font object. 

// Initializes a CFont object with the specified characteristics. 
CFont font;
VERIFY(font.CreateFont(
   12,                        // nHeight
   0,                         // nWidth
   0,                         // nEscapement
   0,                         // nOrientation
   FW_NORMAL,                 // nWeight
   FALSE,                     // bItalic
   FALSE,                     // bUnderline
   0,                         // cStrikeOut
   ANSI_CHARSET,              // nCharSet
   OUT_DEFAULT_PRECIS,        // nOutPrecision
   CLIP_DEFAULT_PRECIS,       // nClipPrecision
   DEFAULT_QUALITY,           // nQuality
   DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
   _T("Arial")));                 // lpszFacename 

// 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(); 

요구 사항

헤더: afxwin.h

참고 항목

참조

CFont 클래스

계층 구조 차트

CFont::CreateFontIndirect

CFont::CreatePointFont

CreateFont

EnumFontFamilies

EnumFonts

LOGFONT