如何创建子窗口(SDK)

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:56:36
m_createStruct.dwExStyle=WS_VISIBLE|WS_CAPTION|WS_CHILD;
m_createStruct.hwndParent=fwParent.getWndHandle();
//id是子窗口的id,为1
m_createStruct.hMenu=(HMENU)id; //用HMENU设置子窗口的ID老是不成功
m_hWnd=::CreateWindow(
m_createStruct.lpszClass,
m_createStruct.lpszName,
m_createStruct.style,
m_createStruct.x,
m_createStruct.y,
m_createStruct.cx,
m_createStruct.cy,
m_createStruct.hwndParent,
m_createStruct.hMenu,
m_createStruct.hInstance,
m_createStruct.lpCreateParams);
int err=::GetLastError();

为什么CreateWindow之后会m_hWnd还是0,err为1401,无效的菜单句柄。
用id567后,GetLastError得到6,The handle is invalid.

//id是子窗口的id,为1
m_createStruct.hMenu=(HMENU)id;
你把id的值改的大点,例如567,试一下,看看GetLastError返回的是什么?

m_createStruct.hMenu=(HMENU)id; 这个define了吗?