欢迎来到天天文库
浏览记录
ID:38801600
大小:56.00 KB
页数:9页
时间:2019-06-19
《详解VC++访问对话框控件的方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、详解VC++访问对话框控件的方式获取和设置对话框控件标题或内容的相关方法介绍:0)先来看一个获取窗口中指定控件或子窗口指针的函数CWnd::GetDlgItem:CWnd*GetDlgItem(intnID//控件或子窗口的ID)const;voidGetDlgItem(intnID,//控件或子窗口的IDHWND*phWnd//指向子窗口的指针)const;“返回值”是指向控件或子窗口的指针,如果指定nID控件不存在,返回值是NULL;要注意的是:返回的指针可能是临时的,因此不能存下来以待后面使用。我们通常
2、会将返回的指针转换为nID指向控件的类型。例如://usesGetDlgItemtoreturnapointertoauserinterfacecontrolCEdit*pBoxOne;pBoxOne=(CEdit*)GetDlgItem(IDC_ASCEEDIT);GotoDlgCtrl(pBoxOne);1)CWnd::GetWindowText函数实现获取CWnd的标题内容,或者当CWnd对象是一个控件时,函数将获取控件中文本内容而不是标题内容;函数原型如下:intGetWindowText(LPTST
3、RlpszStringBuf,//接收返回的内容的缓冲区intnMaxCount//复制到缓冲区的最大字符个数)const;voidGetWindowText(CString&rString//接收返回的内容的CString对象)const;第一个函数的返回值是复制的字符个数,不包括null结束符;当CWnd没有标题或标题为空时返回0。该成员函数使得WM_GETTEXT消息发送给CWnd对象。CWnd::SetWindowText函数实现设置CWnd对象的标题内容,而当CWnd对象是一个控件时,函数将设置控件
4、中文本内容,函数原型如下:voidSetWindowText(LPCTSTRlpszString);实例代码如下://setthetextinIDC_EDITNAMECWnd*pWnd=GetDlgItem(IDC_EDITNAME);pWnd->SetWindowText(_T("GeraldSamper"));//Getthetextback.CStringisconvenient,becauseMFC//willautomaticallyallocateenoughmemorytoholdthe//te
5、xt--nomatterhowlargeitis.CStringstr;pWnd->GetWindowText(str);ASSERT(str==_T("GeraldSamper"));//TheLPTSTRoverrideworks,too,butitmightbetooshort.//Ifwesupplyabufferthat'stoosmall,we'llonlygetthose//charactersthatfit.TCHARsz[10];intnRet=pWnd->GetWindowText(sz,
6、10);//Ninecharacters,plusterminatingnullASSERT(_tcscmp(sz,_T("GeraldSa"))==0);ASSERT(nRet==9);//Youcanquerythelengthofthetextwithoutthelengthof//thestringusingCWnd::GetWindowTextLength()nRet=pWnd->GetWindowTextLength();ASSERT(nRet==13);2)CWnd::GetDlgItemTex
7、t函数用来返回对话框中指定ID的控件上的文本,也就是说,GetDlgItemText函数将GetDlgItem和GetWindowText这两个函数的功能组合起来了:intGetDlgItemText(intnID,//控件的IDLPTSTRlpStr,//指向接收控件标题或文本的缓冲区的指针intnMaxCount//复制到缓冲区的最大字符个数)const;intGetDlgItemText(intnID,//控件IDCString&rString//接收控件标题或文本内容)const;函数返回值是实际复制
8、到缓冲区的字符个数,不包括null结束符;当没有复制任何东西时,返回0。CWnd::SetDlgItemText函数用来设置对话框中指定控件的标题或文本:voidSetDlgItemText(intnID,//控件IDLPCTSTRlpszString//要设置的内容);该函数将发送一个WM_SETTEXT消息给指定的控件。3)CWnd::GetDlgItemInt函数用来获取指定控件的文本,并将其
此文档下载收益归作者所有