다음을 통해 공유


문자열 변환 매크로

이러한 매크로는 문자열 변환 기능을 제공합니다.

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 동작은 적용되는 컴파일러 지시문(있는 경우)에 따라 달라집니다. 소스와 대상 형식이 같으면 변환이 수행되지 않습니다. 컴파일러 지시문은 다음과 같이 TOLE를 변경합니다.

적용되는 컴파일러 지시문 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

참고 항목

매크로