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,返回值为零。 请注意,由于零是可能的转换值,因此返回值零本身并不表示失败。
如果 lpTranslated 为 NULL,则该函数不返回有关成功或失败的信息。
请注意,如果 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) |
请参阅
概念性
引用