MFC怎样获得一个控件的ID或指针,并当做参数传递给一个函数操作
2015-04-21
展开全部
可以用CWnd::GetDlgItem()。
如果是MFC,得到的是CWnd *指针,如果是系统API,得到的是窗口句柄HWND。
MFC的函数可以参考MSDN。
下面是API的说明:
函数功能:该函数检索指定的对话框中的控件句柄。
函数原型:HWND GetDlgltem(HWND hDlg,int nlDDlgltem);
参数: hDlg:标识含有控件的对话框。 nlDDlgltem:指定将被检索的控件标识符。 返回值:如果函数调用成功则返回值为给定控件的窗口句柄。如果函数调用失败,则返回值为NULL,表示为一个无效的对话框句柄或一个不存在的控件。若想获得更多错误信息,请调用GetLastError函数。
备注:可以通过使用任何父子窗口对来使用GetDlgltem函数,而不仅只是对话框。只要hDlg参数指定一个父窗口,且子窗口有一个独立的标识符(象CreateWindow中hMenu参数指定的或创建子窗口的CreateWindowEx指定的那样),GetDlgltem就会返回一个有效的句柄到子窗口。
如果是MFC,得到的是CWnd *指针,如果是系统API,得到的是窗口句柄HWND。
MFC的函数可以参考MSDN。
下面是API的说明:
函数功能:该函数检索指定的对话框中的控件句柄。
函数原型:HWND GetDlgltem(HWND hDlg,int nlDDlgltem);
参数: hDlg:标识含有控件的对话框。 nlDDlgltem:指定将被检索的控件标识符。 返回值:如果函数调用成功则返回值为给定控件的窗口句柄。如果函数调用失败,则返回值为NULL,表示为一个无效的对话框句柄或一个不存在的控件。若想获得更多错误信息,请调用GetLastError函数。
备注:可以通过使用任何父子窗口对来使用GetDlgltem函数,而不仅只是对话框。只要hDlg参数指定一个父窗口,且子窗口有一个独立的标识符(象CreateWindow中hMenu参数指定的或创建子窗口的CreateWindowEx指定的那样),GetDlgltem就会返回一个有效的句柄到子窗口。
追问
GetDlgltem(HWND hDlg,int nlDDlgltem); 前面的那个hDlg怎么获得他的ID或者值?hdc=::GetDC(m_hWnd);这样?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询