我首先使用以下的函数对窗口进行注册;WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = NULL; //这里的窗口过程函数怎么制定?
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = AfxGetInstanceHandle();
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = _T ("MyWnd ");
ATOM am=RegisterClass(&wc); 在使用以下函数创建窗口:
1.. BOOL bflag=m_myWnd1.CreateEx(0,_T ("MyWnd "),_T(""),WS_POPUPWINDOW|WS_VISIBLE|WS_OVERLAPPEDWINDOW,CRect(100,50,500,400),this,1);
2.. BOOL bflag=m_myWnd1.CreateEx(0,_T ("MyWnd "),_T(""),WS_POPUPWINDOW|WS_VISIBLE|WS_OVERLAPPEDWINDOW,CRect(100,50,500,400),this,0);
为什么bflag始终显示是0呢?
创建窗口不成功
CreateEx();函数中倒数第二个参数nID为0 和非零有什么区别?望各位贤能人士给予解答。
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = NULL; //这里的窗口过程函数怎么制定?
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = AfxGetInstanceHandle();
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = _T ("MyWnd ");
ATOM am=RegisterClass(&wc); 在使用以下函数创建窗口:
1.. BOOL bflag=m_myWnd1.CreateEx(0,_T ("MyWnd "),_T(""),WS_POPUPWINDOW|WS_VISIBLE|WS_OVERLAPPEDWINDOW,CRect(100,50,500,400),this,1);
2.. BOOL bflag=m_myWnd1.CreateEx(0,_T ("MyWnd "),_T(""),WS_POPUPWINDOW|WS_VISIBLE|WS_OVERLAPPEDWINDOW,CRect(100,50,500,400),this,0);
为什么bflag始终显示是0呢?
创建窗口不成功
CreateEx();函数中倒数第二个参数nID为0 和非零有什么区别?望各位贤能人士给予解答。
BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, LPVOID lpParam = NULL);pParentWndThe parent window.nIDThe ID of the child window.
你自己指定一个不和其他窗口重复的ID
void CMyDlg::OnCreateStatic()
{
CWnd* pWnd = new CWnd;
pWnd->Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
}