GetDlgItem,是根据继承关系的函数功能,返回窗口中指定参数ID的子元素的句柄,可以通过返回的句柄对窗口内的子元素进行操作。
函数说明
根据继承关系,有如下几类:
(1).CWindow::GetDlgItem
HWND GetDlgItem( int
nID)const;
说明——
参数 nID:接收消息的控件的标识;
返回值:标识所标记的控制窗口句柄;
(2).CWnd::GetDlgItem
CWnd* GetDlgItem ( int
nID) 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:标识含有控件的对话框。
返回值:如果
函数调用成功则返回值为给定控件的
窗口句柄。如果函数调用失败,则返回值为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(控件标识符)来使用
用法
C#
IntPtr hwnd;
IntPtr hwnd1;
IntPtr hwnd2;
IntPtr hwnd3;
IntPtr hwnd4;
hwnd1 = GetDlgItem(hwndQQ, 0);
hwnd2 = GetDlgItem(hwnd1, 0);
hwnd3 = GetDlgItem(hwnd2, 894);
SendMessage(hwnd3, 194, 0, this.txtInput.Text);
hwnd4 = GetDlgItem(hwnd1, 1);
SendMessage(hwnd4, 245, 0, Convert.ToString(0));/*
GetDlgItem Function
TheGetDlgItemfunction retrieves a handle to a control in the specified dialog box.
Syntax
HWND GetDlgItem(HWNDhDlg, intnIDDlgItem);
Parameters
hDlg[in] Handle to the dialog box that contains the control.nIDDlgItem[in] Specifies the identifier of the control to be retrieved.
Return Value
If the function succeeds, the return value is the window handle of the specified control.
If the function fails, the return value is NULL, indicating an invalid dialog box handle or a nonexistent control. To get extended error information, call GetLastError.
Remarks
You can use theGetDlgItemfunction with any parent-child window pair, not just with dialog boxes. As long as thehDlgparameter specifies a parent window and the child window has a unique identifier (as specified by thehMenuparameter in the CreateWindowor CreateWindowExfunction that created the child window),GetDlgItemreturns a valid handle to the child window.