다음을 통해 공유


기호 값 제한

#define 전처리기 지시문에 일반적으로 나타나는 정수는 기호 값이 될 수 있습니다. 기호 값의 몇 가지 예는 다음과 같습니다.

18
4001
0x0012
-3456

액셀러레이터 키, 비트맵, 커서, 대화 상자, 아이콘, 메뉴, 문자열 테이블 및 버전 정보와 같은 리소스의 기호 값은 반드시 0과 32,767 사이의 10진수여야 합니다(16진수는 사용할 수 없음). 대화 상자 컨트롤이나 문자열 테이블의 개별 문자열과 같은 일부 리소스의 기호 값은 0과 65,534 사이이거나, -32,768과 32,767 사이일 수 있습니다.

리소스 기호는 16비트 숫자입니다. 부호가 있거나 부호가 없는 리소스 기호를 입력할 수 있으나 내부적으로는 부호 없는 정수로 사용됩니다. 따라서 음수는 해당 양수 값으로 캐스팅됩니다.

기호 값에는 다음 몇 가지 제한 사항이 있습니다.

  • Visual Studio 개발 환경 및 MFC에서는 일부 숫자 범위를 특수한 용도로 사용합니다. 최상위 비트 세트를 가진 모든 숫자(부호에 따라 -32,768에서 -1까지 또는 32,768에서 65,534까지)는 MFC에서 예약된 숫자입니다.

  • 다른 기호 문자열을 사용하여 기호 값을 정의할 수 없습니다. 예를 들어, 다음 기호 정의는 사용할 수 없습니다.

    #define IDC_MYEDIT  IDC_OTHEREDIT  //not supported
    
  • 인수가 있는 전처리기 매크로를 값 정의에 사용할 수 없습니다. 예를 들면 다음과 같습니다.

    #define   IDD_ABOUT  ID(7) //not supported
    

    위 식은 ID가 컴파일 타임에 어떤 값으로 계산되든지 간에 유효한 식이 아닙니다.

  • 응용 프로그램은 식으로 정의된 기호가 들어 있는 기존 파일을 가질 수 있습니다. 기호를 읽기 전용 기호로 포함시키는 방법은 공유(읽기 전용) 또는 계산된 기호 포함을 참조하십시오.

숫자 범위에 대한 자세한 내용은 Technical Note 23을 참조하십시오.

관리되는 프로젝트에 리소스를 추가하는 방법은 .NET Framework 개발자 가이드의 응용 프로그램의 리소스를 참조하십시오. 관리되는 프로젝트에 리소스 파일 추가, 리소스 액세스, 정적 리소스 표시, 속성에 리소스 문자열 할당 등의 작업을 수동으로 수행하는 방법에 대한 자세한 내용은 연습: Windows Forms 지역화연습: ASP.NET에서 지역화를 위해 리소스 사용을 참조하십시오.

요구 사항

Win32

참고 항목

작업

기호 숫자 값 변경

참조

기호 이름 제한

미리 정의된 기호 ID