hwnd的句柄可以不用输入么?
BOOL WINAPI SetDlgItemText(
_In_ HWND hDlg,
_In_ int nIDDlgItem,
_In_ LPCTSTR lpString
);
请问下这个hdlg可以不用输入的吗?这个参数是否有默认参数?
谢谢!
[解决办法]
如果你调用这个API函数,肯定是需要传递的。第一个参数不可能有默认值,那么后面几个参数都需要有默认值。
如果你是在一个CWnd类中调用这个SetDlgItemText,你可能调用的CWnd::SetDlgItemText()这个函数名与Win32 API SetDlgItemText同名,是该类对API函数的封装。这个时候你就不用写第一个参数了。如果仍然想调用Win32函数,就需要加上作用域标示符::,表示调用Win32 API函数,而不是调用CWnd类的SetDlgItemText方法。
不清楚这样解释你明白了没?
[解决办法]
MFC 对其进行了包装,只不过名字仍保留为 SetDlgItemText:
void CWnd::SetDlgItemText(int nID, LPCTSTR lpStr);你在 MSDN 查到的是 Windows API。如果你想查 MFC 的,需搜索 "CWnd::SetDlgItemText"。
{
return ::SetDlgItemText(GetSafeHwnd(), nID, lpStr);
}