GetDlgItem

  1. GetDlgItemText()
    GetDlgItemText是C++中的函数,调用这个函数以获得与对话框中的控件相关的标题或文本。GetDlgItemText成员函数将文本拷贝到lpStr指向的位置并返回拷贝的字节的数目。

函数说明
CWnd类的成员函数。

函数原型
int GetDlgItemText( HWND hDlg , int nID, LPTSTR lpStr, int nMaxCount) const;
int GetDlgItemText( int nID, CString& rString) const;

参数
nID 指定了要获取其标题的控件的整数标识符。 lpStr 指向要接收控件的标题或文本的缓冲区。 nMaxCount 指定了要拷贝到lpStr的字符串的最大长度(以字节为单位)。如果字符串比nMaxCount要长,它将被截断。 rString 对一个CString对象的引用。

返回值
如果函数调用成功,返回值为拷贝到缓冲区中的 TCHAR 字符个数(不包括结束空字符)。
如果函数调用失败,返回值为 0 。要获取更多错误信息,请调用 GetLastError 函数。
说明
如果字符串的长度大于缓冲区的长度,则会被截断,并以空字符结束。
GetDlgItemText 函数向控件发送一条 WM_GETTEXT 消息。
在 ANSI 版本中,长度指的是字节数,在 Unicode 版本中,长度指的是字符的个数。

系统要求
动态链接库:user32.dll
头文件:在Winuser.h中定义,需包含Windows.h文件
库文件:User32.lib
最低操作系统:Windows 95, Windows NT 3.1
Unicode:实现为ANSI和Unicode两种版本

  1. SetDlgItemText

SetDlgItemText是一种函数,功能是设置对话框中控件的文本和标题。函数原型是BOOLSetDlgltemText(HWND hDlg,int nlDDlgltem,LPCTSTR IpString)

函数功能
该函数设置对话框中控件的文本和标题。

BOOLSetDlgltemText(HWND hDlg,int nlDDlgltem,LPCTSTR IpString);

参数
hDlg:指定含有控件的对话框。
nlDDlgltem:标识带有将被设置的标题和文本的控件。
IpString:指向一个以NULL结尾的字符串指针,该字符串指针包含了将被复制到控件的文本。
返回值:如果函数调用成功,则返回值为非零值。如果函数调用失败,则返回值为零。若想获得更多的错误信息,请调用GetLastError函数。

使用例子
CTime ctime=CTime::GetCurrentTime(); //得到当前系统时间
CString strTime=time.Format("%H:%M:%S");
::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime); //送到指定控件
在vc6.0以后的版本中不支持AfxGetMainWnd()->m_hWnd来获取HWND,所以需要把这一句改为:
SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_TIME, strTime);
在VS中需要去掉第一个参数,直接SetDlgItemText(IDC_TIME, strTime);
备注:SetDlgltem函数把一个WM_SETTEXT消息发送到指定的控件。
速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本

3.GetDlgItem
GetDlgItem,是根据继承关系的函数功能,返回窗口中指定参数ID的子元素的句柄,可以通过返回的句柄对窗口内的子元素进行操作。
函数说明
编辑

根据继承关系,有如下几类:
1).CWindow::GetDlgItem
HWND GetDlgItem( intnID)const;
说明——
参数 nID:接收消息的控件的标识;
返回值:标识所标记的控制窗口句柄;
2).CWnd::GetDlgItem
CWnd* GetDlgItem ( intnID) const;
void CWnd::GetDlgItem( int nID, HWND phWnd) const;
说明——
参数 nID:接收消息的控件的标识;
参数phWnd:子类窗口的指针;
返回值:标识所标记的控件(或子类窗口)的指针;
Example
// Uses GetDlgItem to return a pointer to a user interface control.
CEdit
pBoxOne;
pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1);
GotoDlgCtrl(pBoxOne);
3).Windows SDK
HWND GetDlgItem(
HWNDhDlg, // handle to dialog box
intnIDDlgItem// control identifier
);
参数说明:
hDlg:标识含有控件的对话框。
nlDDlgltem:指定将被检索的控件标识符。
返回值:如果函数调用成功则返回值为给定控件的窗口句柄。如果函数调用失败,则返回值为NULL,表示为一个无效的对话框句柄或一个不存在的控件。若想获得更多错误信息,请调用GetLastError函数。
备注:可以通过使用任何父子窗口对来使用GetDlgltem函数,而不仅只是对话框。只要hDlg参数指定一个父窗口,且子窗口有一个独立的标识符(象CreateWindow中hMenu参数指定的或创建子窗口的CreateWindowEx指定的那样),GetDlgltem就会返回一个有效的句柄到子窗口。
Windows CE:GetDlgltem函数只为对话框中的直接于控制工作,它不通过嵌套的对话框来搜寻。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。
多数以GetDlgitem(控件标识符)来使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值