GetDlgItemInt 函数 (winuser.h)

将对话框中指定控件的文本转换为整数值。

语法

UINT GetDlgItemInt(
  [in]            HWND hDlg,
  [in]            int  nIDDlgItem,
  [out, optional] BOOL *lpTranslated,
  [in]            BOOL bSigned
);

参数

[in] hDlg

类型:HWND

包含相关控件的对话框的句柄。

[in] nIDDlgItem

类型: int

要转换其文本的控件的标识符。

[out, optional] lpTranslated

类型: BOOL*

指示成功或失败 (TRUE 表示成功, FALSE 表示失败) 。

如果此参数为 NULL,则该函数不返回有关成功或失败的信息。

[in] bSigned

类型: BOOL

指示函数是否应在开头检查文本中的减号,如果找到一个有符号整数值,则返回一个有符号整数值 (TRUE 指定应执行此操作, FALSE 表示它不应) 。

返回值

类型: UINT

如果函数成功,则 lpTranslated 指向的变量设置为 TRUE,返回值是控件文本的转换值。

如果函数失败, lpTranslated 指向的 变量设置为 FALSE,返回值为零。 请注意,由于零是可能的转换值,因此返回值零本身并不表示失败。

如果 lpTranslatedNULL,则该函数不返回有关成功或失败的信息。

请注意,如果 bSigned 参数为 TRUE ,并且文本开头有一个减号 (–) , 则 GetDlgItemInt 会将文本转换为带符号整数值。 否则,函数将创建无符号整数值。 若要在这种情况下获取正确的值,请将返回值强制转换为 int 类型。

要获得更多的错误信息,请调用 GetLastError。

注解

GetDlgItemInt 函数通过向控件发送WM_GETTEXT消息来检索指定控件的文本。 此函数通过去除文本开头任何多余的空格,然后转换十进制数字来转换检索到的文本。 函数在到达文本末尾或遇到非数字字符时停止转换。

如果已转换的值大于有符号数字 ) INT_MAX (,则 GetDlgItemInt 函数返回零,对于无符号数字) UINT_MAX (。

示例

有关示例,请参阅 创建无模式对话框

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 Windows 10版本 10.0.10 (240 中引入的 ext-ms-win-ntuser-dialogbox-l1-1-2)

请参阅

概念性

对话框

GetDlgCtrlID

GetDlgItem

GetDlgItemText

引用

SetDlgItemInt