GetDlgItemInt

카테고리 없음 2015. 3. 16. 11:05
반응형

CWnd::GetDlgItemInt

Visual Studio 2013

nID 로 식별되는 컨트롤의 텍스트를 가져옵니다.

UINT GetDlgItemInt(
   int nID,
   BOOL* lpTrans = NULL,
   BOOL bSigned = TRUE 
) const;

nID

변환될 대화 상자 컨트롤의 정수 식별자를 지정합니다.

lpTrans

변환된 플래그를 수신할 부울 변수를 가리킵니다.

bSigned

가져올 값이 부호 있는 값인지 여부를 지정합니다.

대화 상자 항목 텍스트의 변환된 값을 지정합니다. 0은 올바른 반환 값 이므로, 오류를 검출하려면 lpTrans을 사용해야 합니다. 부호 있는 반환 값이 필요하면, 이를 int 형식으로 캐스팅 하십시오.

해당 함수는, 변환된 숫자가 (부호 있는 숫자이면) INT_MAX 보다 또는 (부호 없는 숫자이면) UINT_MAX 보다 큰 경우, 0을 반환합니다.

숫자가 아닌 문자를 발견하거나 최대 한도를 초과하는 등의 에러가 발생하면, GetDlgItemInt 는 lpTrans가 가리키는 위치에 0을 복사합니다. 오류가 없으면, lpTrans는 0이 아닌 값을 받습니다. lpTrans 이 NULL이면, GetDlgItemInt는 에러에 대한 경고를 하지 않습니다.

이는 시작 부분의 추가 공백을 제거하고 10진수로 변환하는 방식으로, 주어진 대화 상자에 있는 지정된 컨트롤의 텍스트를 정수 값으로 변환합니다. 텍스트의 끝에 도달하거나 숫자가 아닌 어떠한 문자라도 발견하면, 해당 변환을 중지합니다.

만약 bSigned 값이 TRUE 인 경우, GetDlgItemInt는 텍스트 시작 부분의 마이너스 기호 (-)를 확인하고, 해당 텍스트를 부호 있는 숫자로 변환합니다. 그 외의 경우엔, 부호 없는 값을 만듭니다.

이는 컨트롤에 WM_GETTEXT 메시지를 보냅니다.

헤더: afxwin.h


반응형
,