GetDlgItem
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兩種版本
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(控件標識符)來使用
總結
以上是生活随笔為你收集整理的GetDlgItem的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读写ini文件
- 下一篇: 利用qsort二级排序