您的位置:首页 > 运维架构

BringWindowToTop(), SetForegroundWindow(), SetActiveWindow()

2015-07-04 11:55 561 查看
1. SetActiveWindow()

原型:

<span style="font-size:14px;">CWnd* SetActiveWindow();
HWND SetActiveWindow(hWnd);</span>


功能:该函数激活一个窗口,hWnd:将被激活的最顶层窗口。

返回值:若函数调用成功,则返回原先活动窗口的句柄。若函数调用失败,则返回值为NULL

备注:SetActiveWindow函数激活一个窗口,但当应用程序处于后台时,将不激活指定窗口。当应用程序激活窗口时处于前台,则窗口将被放到前台

2. SetForegroundWindow()

原型:

<span style="font-size:14px;">BOOL SetForegroundWindow();
BOOL SetForegroundWindow(hWnd);</span>


功能:该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视的记号。系统给创建前台窗口的线程分配的权限稍高于其他线程。

SetForegroundWindow窗口函数激活一个窗口并将其强制为前台的。当应用程序要显示关键错误或需要用户立即注意的信息时,应只能调用SetForegroundWindow函数。

返回值:如果窗口设入了前台,返回值为非零;如果窗口未被设入前台,返回值为零。

备注:前台窗口是z序顶部的窗口,是用户的工作窗口。在一个多任务优先抢占环境中,应让用户控制前台窗口。

3. BringWindowToTop()

原型:

<span style="font-size:14px;">VOID BringWindowToTop();
BOOL ::BringWindowToTop(m_hWnd)</span>


功能:该函数将指定的窗口设置到Z序的顶部。如果窗口为顶层窗口,则该窗口被激活;如果窗口为子窗口,则相应的顶级父窗口被激活。

返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。

备注:使用BringWindowToTop函数显示出被其他窗口部分或全部遮盖的窗口。

调用这个函数类似于调用SetWindowPos函数来改变窗口在Z序中的位置,但是BringWindowToTop函数并不能使一个窗口成为前台窗口。

如果应用程序不在前台中而想设置在前台中,可以调用SetForegroundWindow函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: