日期:2014-05-17  浏览次数:20706 次

SetWindowPos 我只想改变位置,而不改变窗口的大小,怎样传参?还是用别的API?
我只想改变位置,而不改变窗口的大小,怎样传参?还是用别的API?
另外,能否通过对象的句柄来获取窗口的大小?前提是不通过获取图片,然后再求图片的大小,因为这样会出问题,得出的高度跟看到的高度不一致,比看到的小,估计是有工具条。

SetWindowPos
函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。
函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,UNIT.Flags);

------解决方案--------------------
最后的 uFlags 参数有 SWP_NOSIZE 就可以吧;这时是忽略 cx 和 cy 两个设置窗口大小的参数的。
------解决方案--------------------
获取窗口的大小,是指整个窗口的大小,不是可以通过 GetWindowRect() 函数么,得到的是窗口的坐、上、右、下四个坐标,实际的大小再算下便是