|
发表于 2010-12-21 11:32:05
|
显示全部楼层
//设置hwnd为顶层主窗口
int SetTopOfMainWindow(HWND hwnd)
{
HWND hLastWnd;
WINDOW *pWin,*pLastWin,*PrevWin,*NextWin;
////
//ShowMainWindow();
if(hwnd==0) return 0;
if(!IsMainWindow(hwnd)) return 0;
hLastWnd=GetLastWindow(hwnd); //获得最后一个窗口
if(hLastWnd==0) return 1; //如果后面已没有窗口
if(hLastWnd==hwnd) return 1; //如果已是最顶层窗口
。。。
}
这个函数中这
if(hLastWnd==0) return 1; //如果后面已没有窗口
这句注释是不是错的?
因为
hLastWnd=GetLastWindow(hwnd);
hLastWnd能为0,是因为传入参数hwnd为0,所以应该是传入非法窗口造成返回为0
而在此语句之前已经判断
if(hwnd==0) return 0;
所以后面hLastWnd=0的情况是不出现的。
而当传的参数窗口本身就是最后一个窗口时,此时调用hLastWnd=GetLastWindow(hwnd);
会使hLastWnd==hwnd,也就是表示后面已没有窗口。
所以
if(hLastWnd==0) return 1; //传入非法窗口句柄
if(hLastWnd==hwnd) return 1; //如果已是最顶层窗口,后面没有其它窗口
不知道我的说法对不对??
我正迷惑中。。。 |
|