读书人

SetWindowLong 返回0 GetLastError(

发布时间: 2012-01-14 20:02:35 作者: rapoo

SetWindowLong 返回0 GetLastError()返回0
if(0==SetWindowLong (m_hWnd, GWL_HWNDPARENT, GetWindowLong(m_hWnd,GWL_HWNDPARENT) |WS_EX_TOOLWINDOW))
{
GetLastError();//==0,查了下是 操作成功完成
}


[解决办法]
去掉WS_EX_TOOLWINDOW,句柄和窗口样式是不能够混用的.
[解决办法]
再加SetWindowLong(m_hWnd,GWL_EXSTYLE,GetWindowLong(m_hWnd,GWL_EXSTYLE) |WS_EX_TOOLWINDOW)
[解决办法]
if(0==SetWindowLong (m_hWnd, GWL_HWNDPARENT, GetWindowLong(m_hWnd,GWL_HWNDPARENT) |WS_EX_TOOLWINDOW))
============================
GWL_HWNDPARENT----这说明你是想设置这个窗体的父窗体
GetWindowLong(m_hWnd,GWL_HWNDPARENT)----取回了自己的父窗体句柄,目前至少不会出错
|WS_EX_TOOLWINDOW)) ----又给那个句柄或上去了一个常量,现在这个值既不是一个有效的句柄也不是一个有效的常量,除了出错别无出路

读书人网 >VC/MFC

热点推荐