BringWindowToTop(), SetForegroundWindow(), SetActiveWindow()

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函数。


原文地址:https://www.cnblogs.com/yxwkf/p/5325418.html