일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 배열
- EnvSet
- Blocks
- EnvAdd
- if
- StringGetPos
- Threads
- autohotkey
- IfWinExist
- SetKeyDelay
- SetControlDelay
- Var:=식
- SetEnv
- DetectHiddenWindows
- API
- EnvMult
- IfInString
- EnvSub
- 식
- Menu
- 식의 설명
- SetTitleMatchMode
- 함수
- if(식)
- ControlGetText
- IF (식)
- ControlSend
- EnvDiv
- MouseClick
- SetMouseDelay
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
CreateFont(A) 본문
CreateFont(A)
논리 폰트를 작성합니다.
HFONT CreateFontA( int nHeight, // 문자 셀 또는 문자의 높이 int nWidth, // 평균 문자폭 int nEscapement, // 문자 보내의 방향과X축과의 각도 int nOrientation, // baseline와X축과의 각도 int nWeight, // 폰트의 굵기 DWORD fdwItalic, // 이탤릭체 지정 DWORD fdwUnderline, // 밑줄 지정 DWORD fdwStrikeOut, // 부정선 지정 DWORD fdwCharSet, // 캐릭터 세트 DWORD fdwOutPrecision, // 출력 정도 DWORD fdwClipPrecision, // 클리핑의 정도 DWORD fdwQuality, // 출력 품질 DWORD fdwPitchAndFamily, // 핏치와 패밀리 PCTSTR pszFaceName // 폰트명 );
GDI32.DLL
인수
- nHeight
-
폰트의 문자 셀 또는 문자의 높이를 논리 단위로 지정합니다.
정수를 지정했을 경우는 문자 셀의 높이로서 해석됩니다. 0 (을)를 지정하면 디폴트의 높이로서 해석됩니다.음수를 지정하면 그 절대치가 문자의 높이(문자 셀의 높이로부터 내부 leading (엑센트 기호등을 (위해)때문에의 스페이스) 의 높이를 당긴 것)로서 해석됩니다.폰트맙파는, 요구된 사이즈를 넘지 않는 최대의 폰트를 찾습니다.
- nWidth
-
폰트의 평균 문자폭을 논리 단위로 지정합니다.
0 (을)를 지정하면, nHeight 파라미터로 지정한 폰트의 높이에 맞은 폭이 자동적으로 지정됩니다.
- nEscapement
-
문자 보내의 방향과 X 축과의 각도를,10 분의 1 번단위로 지정합니다.문자 보내의 방향은, 텍스트의 열의 baseline와 평행입니다.
Windows NT/2000/XP: GM_ADVANCED 그래픽 모드에서는, nEscapement 파라미터와 nOrientation 파라미터를 개개로 설정할 수 있습니다. GM_COMPATIBLE 그래픽 모드에서는, nEscapement 파라미터는 문자 보내의 방향과 문자의 방향의 양쪽 모두를 정의합니다. nEscapement 파라미터와 nOrientation 파라미터의 값은 같게 해 주세요.
Windows 95/98/Me: nEscapement 파라미터는 문자 보내의 방향과 문자의 방향의 양쪽 모두를 정의합니다.nEscapement 파라미터와 nOrientation 파라미터의 값은 같게 해 주세요.
- nOrientation
각 문자의 baseline와 X 축과의 각도를, 10 분의 1 번단위로 지정합니다.
- nWeight
-
폰트의 굵기를, 0 (으)로부터 1000 까지의 값으로 지정합니다.0 (을)를 지정하면, 디폴트의 굵기가 선택됩니다.
VC++그럼 다음의 정수명이 정의되고 있습니다.
정수명 치 FW_DONTCARE 0 FW_THIN 100 FW_EXTRALIGHT, FW_ULTRALIGHT 200 FW_LIGHT 300 FW_NORMAL, FW_REGULAR 400 FW_MEDIUM 500 FW_SEMIBOLD, FW_DEMIBOLD 600 FW_BOLD 700 FW_EXTRABOLD, FW_ULTRABOLD 800 FW_HEAVY, FW_BLACK 900 - fdwItalic
-
이탤릭체로 할지를 지정합니다. 1 (TRUE) (을)를 지정하면 이탤릭체가 됩니다. 0 (FALSE) (을)를 지정하면 이탤릭체가 되지 않습니다.
- fdwUnderline
-
밑줄 첨부의 폰트를 선택할지를 지정합니다. 1 (TRUE) (을)를 지정하면 밑줄을 붙일 수 있습니다. 0 (FALSE) (을)를 지정하면 밑줄을 붙일 수 없습니다.
- fdwStrikeOut
-
부정선 폰트를 선택할지를 지정합니다. 1 (TRUE) (을)를 지정하면 부정선을 붙일 수 있습니다. 0 (FALSE) (을)를 지정하면 부정선을 붙일 수 없습니다.
- fdwCharSet
-
캐릭터 세트의 값을 지정합니다.대표적인 것을 이하에 나타냅니다
캐릭터 세트 치 ANSI_CHARSET (Windows 캐릭터 세트) 0 DEFAULT_CHARSET (지정 없음) 1 SYMBOL_CHARSET 2 SHIFTJIS_CHARSET (시프트JIS캐릭터 세트) 128 OEM_CHARSET (OEM 캐릭터 세트) 255 - fdwOutPrecision
-
출력 정도를 지정합니다.다음의 값의 어느쪽이든을 지정합니다.
치 의미 0 (OUT_DEFAULT_PRECIS) 디폴트의 동작에 맡깁니다.
1 (OUT_STRING_PRECIS) 사용하지 않습니다.(다만, 라스터 폰트가 열거될 때는 돌려주어집니다.)
2 (OUT_CHARACTER_PRECIS) 사용하지 않습니다.
3 (OUT_STROKE_PRECIS) Windows NT/2000/XP: 사용하지 않습니다.(다만,TrueType 폰트나 그 외의 아웃라인 베이스의 폰트, vector font(vector font)가 열거될 때는 돌려주어집니다.)
Windows 95/98/Me: vector font를 선택하도록 지시합니다.(TrueType 폰트나 vector font가 열거될 때도 돌려주어집니다.)
4 (OUT_TT_PRECIS) 같은 이름의 폰트가 다수 있었을 경우는,TrueType 폰트를 선택하도록 지시합니다.
5 (OUT_DEVICE_PRECIS) 같은 이름의 폰트가 다수 있었을 경우는, 디바이스 폰트를 선택하도록 지시합니다.
6 (OUT_RASTER_PRECIS) 같은 이름의 폰트가 다수 있었을 경우는, 라스터 폰트를 선택하도록 지시합니다.
7 (OUT_TT_ONLY_PRECIS) TrueType 폰트만을 선택하도록 지시합니다.시스템에 TrueType 폰트가 짜넣어지지 않을 때는, 디폴트의 동작이 됩니다.
8 (OUT_OUTLINE_PRECIS) Windows NT/2000/XP: TrueType 폰트나 그 외의 아웃라인 베이스의 폰트를 선택하도록 지시합니다.
Windows 95/98/Me: 사용하지 않습니다.
- fdwClipPrecision
-
클리핑의 정도를 지정합니다.이 값은, 문자의 일부가 클리핑 영역의 밖에는 봐 나왔을 때에, 그 문자를 클립 하는 방법을 정의합니다.다음의 값의 언젠가, 또는 조합을 지정합니다.
치 의미 0 (CLIP_DEFAULT_PRECIS) 디폴트의 동작에 맡깁니다.
1 (CLIP_CHARACTER_PRECIS) 사용하지 않습니다.
2 (CLIP_STROKE_PRECIS) 사용하지 않습니다.(다만, 라스터 폰트, vector font,TrueType 폰트가 열거될 때는 돌려주어집니다.)
15 (CLIP_MASK) 사용하지 않습니다.
16 (CLIP_LH_ANGLES) 좌표계가 오른손 좌표계나 왼손 좌표계 등에 의해서, 모든 폰트의 회전 방향을 결정하도록(듯이) 합니다.이 값을 지정하지 않는 경우는, 디바이스 폰트는 항상 반시계회전에, 그 외의 폰트는 좌표계의 향해 따라서 회전합니다.
32 (CLIP_TT_ALWAYS) 사용하지 않습니다.
128 (CLIP_EMBEDDED) 독해 전용의 매입 폰트
- fdwQuality
-
출력 품질을 지정합니다.이 값은, GDI 하지만, 논리 폰트의 속성과 실제의 물리 폰트의 속성을 어느 정도까지 일치시키는지를 정의하는 것입니다.
치 의미 0 (DEFAULT_QUALITY) 폰트의 문자 품질은 중시되지 않습니다.
1 (DRAFT_QUALITY) 폰트의 문자 품질은 PROOF_QUALITY (을)를 사용했을 때(정도)만큼은 중시되지 않습니다.
2 (PROOF_QUALITY) 폰트의 문자 품질이, 논리 폰트의 속성을 정확하게 일치시키는 것보다 중시됩니다.
- fdwPitchAndFamily
-
폰트의 핏치와 패밀리를 지정합니다.핏치를 지정하는 값과 폰트 패밀리를 지정하는 값을 하나씩 OR 연산자“|”(으)로 조합해 지정합니다.
핏치를 지정하는데 이하의 값의 어느쪽이든을 지정합니다.
치 의미 0 (DEFAULT_PITCH) 디폴트 1 (FIXED_PITCH) 고정폭 2 (VARIABLE_PITCH) 가변폭 폰트 패밀리를 지정하는데 이하의 값의 어느쪽이든을 지정합니다.
치 의미 0 (FF_DONTCARE) 일반적인 패밀리를 지정.폰트에 관한 정보가 존재하지 않는 경우나, 중요하지 않을 때에 지정된다.
16 (FF_ROMAN) 대사(H,I 등의 상하에 있는 수염 장식)이 있는 proportional font를 지정. Times New Roman 등.
32 (FF_SWISS) 대사(H,I 등의 상하에 있는 수염 장식)이 없는 proportional font를 지정. Arial 등.
48 (FF_MODERN) 대사(H,I 등의 상하에 있는 수염 장식)이 있다, 또는 대사가 없는 물건 스페이스 폰트를 지정. Pica, Elite, Courier New 등.
64 (FF_SCRIPT) 자필풍의 디자인의 폰트를 지정. Script, Cursive 등.
80 (FF_DECORATIVE) 장식 폰트를 지정. Old English 등.
- pszFaceName
-
폰트의 타이프페이스명을 나타내는 문자열의 주소를 지정합니다.
0 (NULL) (이)나 공문자열의 주소를 지정하면, 다른 멤버로 지정된 속성에 맞는 폰트중에서 최초로 찾아낼 수 있었던 폰트가 선택됩니다.
반환값
성공하면 작성된 논리 폰트의 핸들이 돌아갑니다.
실패하면 0 (NULL) 하지만 돌아갑니다.
Windows NT/2000/XP: 확장 에러 정보를 취득하려면 , GetLastError 함수를 사용합니다.
해설
폰트가 불필요하게 되었을 경우에는, DeleteObject 함수로 삭제하지 않으면 안됩니다.
대응 정보
Windows 95 이후 / Windows NT 3.1 이후
'API 관련 > Win32 API 함수' 카테고리의 다른 글
CreateMenu (0) | 2007.11.08 |
---|---|
CreateFontIndirect(A) (0) | 2007.11.08 |
CreateFileMapping(A) (0) | 2007.11.08 |
CreateFile(A) (0) | 2007.11.08 |
CreateEllipticRgn (0) | 2007.11.08 |