MFC中GetDlgItemText与GetDlgItemInt函数 -

来源:互联网 发布:淘宝客服的岗位职责 编辑:程序博客网 时间:2024/05/16 18:00

GetDlgItemText 函数 用于获取对话框中指定控件的标题或文本。  

UINT GetDlgItemText(HWND hDlg, int nIDDlgItem, LPTSTR lpString, int nMaxCount);

hDlg 窗口的句柄。

nIDDlgItem   指定控件的标识符(ID)。 

lpString   指向用于接收获取结果的缓冲区的指针。   

nMaxCount   指定允许拷贝到上述缓冲中的最大字符数(按 TCHAR 字符类型),如果字符串的长度(包含结束空字符)大于指定的最大字符数,则会被截断。

返回值  

如果函数调用成功,返回值为拷贝到缓冲区中的 TCHAR 字符个数(不包括结束空字符)。  

如果函数调用失败,返回值为 0 。要获取更多错误信息,请调用 GetLastError 函数。

说明  如果字符串的长度大于缓冲区的长度,则会被截断,并以空字符结束。GetDlgItemText 函数向控件发送一条 WM_GETTEXT 消息。在 ANSI 版本中,长度指的是字节数,在 Unicode 版本中,长度指的是字符的个数。

系统要求

 动态链接库:user32.dll

头文件:在Winuser.h中定义,需包含Windows.h文件   

库文件:User32.lib  

GetDlgItemInt(int nID,BOOL *lpTrans=NULL,BOOL bSigned=TRUE)
第一个参数nID是控件的ID,
第二个参数,主要是为了接收错误信息

可能出现的错误信息有: ID无效,并且超过指定大小,比如说:ID为12345677,这个就不行.
还有就是输入不能解析为一个int类型的,比如输入:"bvbvbvbv","3.5666",
当然后面可以解析为一个浮点型,在这里取得的值为3,但是还是会有错误信息
如果不指定第二个参数,就不会获得任何错误信息,这个参数很有用的,对输入的判断是否可以解析为int类型或者是否有效,很有用的,我们经常有这个参数来判断用户的输入是否合法

参数3:默认的为true,主要是针对"-123",像这样的字符,它可以把前面的"-"解析为负号,那么就是标准的int类型了,如果设置为false,那么它不可以有
负数,因为在这里的"-"号,被认为是不合法的

用途如下:

        BOOL flag;

UINT ui=GetDlgItemInt(IDC_EDIT1,&flag,true);

CString cs;

cs.Format("%d,%d",ui,flag);

MessageBox(cs);



原创粉丝点击