CWnd:Create函数调用参数个数不一致的有关问题
CWnd::Create函数调用参数个数不一致的问题
MSDN中说明:
Creates a Windows child window and attaches it to the CWnd object.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL //总计7个参数
);
他的例子中又有如下:
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"),
_T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20),
this,
1234); //只有5个参数
}
为什么这样??
还有Create(IDD_BOOKDLG,this)这个又是那里函数????请高手指点一下....
------解决方案--------------------
Creates a Windows child window and attaches it to the CWnd object.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL //总计7个参数
);
那还少了一个??哪里去了?????????
-------------------------------------------------------
最后一个参数 CCreateContext* pContext = NULL 已经有默认值了呀,这种情况下,当你不需要指定的时候,就可以不去写它,当你需要指定的时候,就必须要写,否则用的就是默认值
MSDN中说明:
Creates a Windows child window and attaches it to the CWnd object.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL //总计7个参数
);
他的例子中又有如下:
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"),
_T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20),
this,
1234); //只有5个参数
}
为什么这样??
还有Create(IDD_BOOKDLG,this)这个又是那里函数????请高手指点一下....
------解决方案--------------------
Creates a Windows child window and attaches it to the CWnd object.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL //总计7个参数
);
那还少了一个??哪里去了?????????
-------------------------------------------------------
最后一个参数 CCreateContext* pContext = NULL 已经有默认值了呀,这种情况下,当你不需要指定的时候,就可以不去写它,当你需要指定的时候,就必须要写,否则用的就是默认值