문자열 변환 매크로
이러한 매크로는 문자열 변환 기능을 제공합니다.
ATL 및 MFC 문자열 변환 매크로
이 항목에서 설명하는 문자열 변환 매크로는 ATL과 MFC에 모두 사용 가능합니다. MFC 문자열 변환에 대한 자세한 내용은 TN059: MFC MBCS/유니코드 변환 매크로 및 MFC 매크로 및 전역 사용을 참조하세요.
DEVMODE 및 TEXTMETRIC 문자열 변환 매크로
이러한 매크로는 DEVMODE 또는 TEXTMETRIC 구조체의 복사본을 만들고 새 구조 내의 문자열을 새 문자열 형식으로 변환합니다. 매크로는 스택에서 새 구조체에 대한 메모리를 할당하고 새 구조체에 대한 포인터를 반환합니다.
MACRONAME( address_of_structure )
설명
예시:
DEVMODEW* lpw = DEVMODEA2W(lpa);
and:
TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);
매크로 이름에서 원본 구조의 문자열 형식은 왼쪽(예: A)이며 대상 구조의 문자열 형식은 오른쪽에 있습니다(예 : W). LPSTR, OLE는 LPOLESTR, T는 LPTSTR, W는 LPWSTR을 의미합니다.
따라서 LPSTR 문자열이 있는 구조체를 LPWSTR 문자열이 있는 구조체로 DEVMODE
복사 DEVMODE
할 DEVMODEA2W LPOLESTR 문자열이 있는 구조체를 LPTSTR 문자열이 있는 구조체로 TEXTMETRIC
복사 TEXTMETRIC
하는 TEXTMETRICOLE2T.
구조체에서 DEVMODE
변환된 두 문자열은 디바이스 이름(dmDeviceName
)과 양식 이름(dmFormName
)입니다. DEVMODE
문자열 변환 매크로는 구조체 크기(dmSize
)도 업데이트합니다.
구조체에서 TEXTMETRIC
변환된 네 개의 문자열은 첫 번째 문자(tmFirstChar
), 마지막 문자(tmLastChar
), 기본 문자(tmDefaultChar
) 및 나누기 문자(tmBreakChar
)입니다.
문자열 변환 매크로와 TEXTMETRIC
문자열 변환 매크로의 DEVMODE
동작은 적용되는 컴파일러 지시문(있는 경우)에 따라 달라집니다. 소스와 대상 형식이 같으면 변환이 수행되지 않습니다. 컴파일러 지시문은 다음과 같이 T 및 OLE를 변경합니다.
적용되는 컴파일러 지시문 | T의 변경 결과 | OLE의 변경 결과 |
---|---|---|
없음 | A | W |
_UNICODE | W | W |
OLE2ANSI | A | A |
_UNICODE 및 OLE2ANSI | W | A |
다음 표에는 문자열 변환 매크로와 TEXTMETRIC
문자열 변환 매크로가 나와 DEVMODE
있습니다.
DEVMODE 매크로 |
TEXTMETRIC 매크로 |
---|---|
DEVMODEA2W | TEXTMETRICA2W |
DEVMODEOLE2T | TEXTMETRICOLE2T |
DEVMODET2OLE | TEXTMETRICT2OLE |
DEVMODEW2A | TEXTMETRICW2A |