一点一滴成长

导航

移动窗口和根据条件查找指定窗口

1、
MoveWindow()用来改变窗口位置或大小。
void MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE);
void MoveWindow(LPCRECT lpRect, BOOL bRepaint = TRUE);

2、
SetWindowPos不仅可以用来改变窗口位置和大小,还可以设置窗口Z序特性。
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags
);

pWndInsertAfter可为NULL或以下值的地址:
wndBottom:将窗口放置在Z次序的底部。
wndTop:将窗口放置在Z次序的顶部。
wndTopMost:将当前窗口设置为一个顶层窗口,放置于所有非顶层窗口之上,即使窗口未被激活。
wndNoTopMost:将当前窗口放置在所有顶层窗口之后,但在所有非顶层窗口之上。

x,y: 指定窗口位置。

cx,cy: 指定窗口的宽度和高度。

nFlags:SWP_SHOWWINDOW 显示窗口
            SWP_HIDEWINDOW 隐藏窗口
            SWP_NOMOVE 维持窗口当前位置,即忽略x、y参数
            SWP_NOSIZE 维持窗口的当前尺寸,即胡洛cx、cy参数
            .......

3、

 

4、

FindWindow()根据类名或窗口名查找指定顶层窗口(不区分大小写)。这个函数不查找子窗口,如果要查找子窗口使用FindWindowEx()。函数原型:
HWND WINAPI FindWindow(
LPCTSTR lpClassName, //窗口类名,可以传NULL
LPCTSTR lpWindowName //窗口名
);

 

对于对话框来说,窗口名就是窗口的标题名,可以用SetWindowText()来设置对话框的标题名。

GetWindow()获得与窗口有指定关系(如父子关系或Z序)的窗口,如果与指定窗口有特定关系的窗口不存在,则返回NULL。函数原型:
HWND WINAPI GetWindow(
HWND hWnd, //指定窗口
UINT uCmd //与要获得窗口的关系
);

GetNextWindow()获得指定窗口的上一个或下一个窗口。函数原型:
HWND WINAPI GetNextWindow(
HWND hWnd, //指定窗口
UINT wCmd //查询方式:向上(GW_HWNDPREV)或向下(GW_HWNDNEXT)查找
);

WindowFromPoint()获得包含指定点的窗口。如果该点在静态文本控件之上,返回值是在该静态文本控件的下面的窗口的句柄。如果包含指定点的窗
口不存在,返回值为NULL。函数原型:
HWND WINAPI WindowFromPoint(POINT Point);

 

posted on 2016-06-29 18:00  整鬼专家  阅读(342)  评论(0编辑  收藏  举报