您的位置首页生活百科

GetDlgItem的用法

GetDlgItem的用法

的有关信息介绍如下:

GetDlgItem的用法

CButton* btn = (CButton*)GetDlgItem(IDC_BUTTON_SEND); btn-SetWindowTextW(_T("hello"));如果想得到其他对话框中的控件,用GetDlgItem(hwnd,IDD); CWnd::GetDlgItem(int nID) 这个是一个类成员函数,可使用CWnd* pWnd = GetDlgItem(ID_XXX); 而HWND GetDlgItem( HWND hDlg, // handle of dialog box int nIDDlgItem // identifier of control); 是一个sdk的函数 两个的主要区别是用的地方不一样 一个参数的是在窗口中调用的函数,两个参数的是在平台SDK中调用的 你在对话框类里面调用GetDlgItem(IDC_BOARD_SIZE),就是调用的类成员函数CWnd::GetDlgItem 获得某个控件的句柄GetDlgItem(IDC_BOARD_SIZE)-m_hWnd就可以了 如果要用到第二种用法,要这样 ::GetDlgItem(this- m_hWnd,IDC_BOARD_SIZE);效果一样的 那个IDC_BOARD_SIZE是你某个控件的id, 如果HWND GetDlgItem( HWND hDlg, // handle of dialog box int nIDDlgItem // identifier of control);的话, 第一个参数是窗体的句柄,第二个参数是某个控件的ID,和IDC_BOARD_SIZE是一个意思 GetDlgItem(IDC_..),GetDlgItem(HWND hWnd, GetDlgItem(IDC_..)是一个非静态方法,意思是你对话框内获取该控件指针,所以这里不需要获取对话框句柄,也就是说你如果在非对话框窗口里面调用这个方法就肯定会出错 GetDlgItem(HWND hWnd, IDC_..)是一个静态方法,它是一个让你指定从哪个对话框里获取控件指针 举个例子:你调用了上厕所这个函数,如果你在家里的话肯定是在自己家里上厕所,所以不需要知道在哪里上厕所(hwnd) 如果你在室外那么上厕所就一定要选一个地方(hwnd)。 如果说你上厕所的地方都不是一个房间,那么肯定会报错嘛,因为你在随地大小便,哈哈所以你先搞清楚这两个函数的使用环境区别