首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

SetWindowLong 返回0 GetLastError()返回0,该怎么解决

2012-01-14 
SetWindowLong 返回0GetLastError()返回0if(0SetWindowLong(m_hWnd,GWL_HWNDPARENT,GetWindowLong(m_hWn

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)) ----又给那个句柄或上去了一个常量,现在这个值既不是一个有效的句柄也不是一个有效的常量,除了出错别无出路

热点排行